当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 拖拉表格的JS函数

Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
javascript call和apply方法
createElement动态创建HTML对象脚本代码
javascript getElementById 使用方法及用法
javascript脚本调试方法小结
Document和Document.all区别分析
Javascript 对象的解释
javascript 随意拖动的小方块特效
Javascript 陷阱 window全局对象
Javascript hasOwnProperty 方法 & in 关键字
Javascript 构造函数 实例分析
javascript replace()方法的简单分析
javascript 尚未实现错误解决办法
js 对象外部访问或者调用问题
JavaScript模拟下拉菜单代码
js获取鼠标位置杂谈附多浏览器兼容代码
JS获得鼠标位置(兼容多浏览器ie,firefox)IT学习网修正版
JS 自动安装exe程序
javascript 动态添加事件代码
Js callBack 返回前一页的js方法

Javascript 中的 拖拉表格的JS函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 376 ::
收藏到网摘: n/a

拉表格,一个函数调用即可 JS:
复制代码 代码如下:

/*
@parem object the tbody's object
@parem object tr's object (must be null)
@parem string the className of onmousedown
@parem string the className of onmouseout
*/
function order(tt,old,classover,classout) {
var sf = arguments.callee; //get the function self
var trs = tt.getElementsByTagName('tr');
for(var i=0;i<trs.length;i++) {
trs[i].onmousedown = function () {
if(this.style.cursor == 'move') {
return false;
}
classout = this.className;
this.className = classover;
this.style.cursor = 'move';
old = this;
}
trs[i].onmouseover = function () {
if(this.style.cursor == 'move' || !old) {
return false;
}
var tmp_old = old.cloneNode(true);
var tmp_now = this.cloneNode(true);
var p = this.parentNode;
p.replaceChild(tmp_now,old);
p.replaceChild(tmp_old,this);
sf(tt,tmp_old,classover,classout);
}
trs[i].onmouseout = function () {
//this.className = classout;
}
trs[i].onmouseup = function () {
this.className = classout;
this.style.cursor = '';
old = null;
}
}
}

示例:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script src="js/ajax.js"></script>
<script src="js/global.js"></script>
<style type="text/css">
.table {
background-color:red;
}
.table td {
background-color:#eeeeee;
}
.now td{
background-color:red;
}
</style>
<script type="text/javascript">
<!--
window.onload = function () {
order(document.getElementById('tt'),null,"now");
}
/*
@parem object the tbody's object
@parem object tr's object (must be null)
@parem string the className of onmousedown
@parem string the className of onmouseout
*/
function order(tt,old,classover,classout) {
var sf = arguments.callee; //get the function self
var trs = tt.getElementsByTagName('tr');
for(var i=0;i<trs.length;i++) {
trs[i].onmousedown = function () {
if(this.style.cursor == 'move') {
return false;
}
classout = this.className;
this.className = classover;
this.style.cursor = 'move';
old = this;
}
trs[i].onmouseover = function () {
if(this.style.cursor == 'move' || !old) {
return false;
}
var tmp_old = old.cloneNode(true);
var tmp_now = this.cloneNode(true);
var p = this.parentNode;
p.replaceChild(tmp_now,old);
p.replaceChild(tmp_old,this);
sf(tt,tmp_old,classover,classout);
}
trs[i].onmouseout = function () {
//this.className = classout;
}
trs[i].onmouseup = function () {
this.className = classout;
this.style.cursor = '';
old = null;
}
}
}
//-->
</script>
<body>
<table border="0" cellpadding="0" cellspacing="1" class="table">
<tbody>
<tr >
<td>ID</td>
<td>记录</td>
</tr>
</tbody>
<tbody id="tt">
<tr >
<td>1</td>
<td>记录</td>
</tr>
<tr>
<td>2</td>
<td>记录</td>
</tr>
<tr>
<td>3</td>
<td>记录</td>
</tr>
<tr>
<td>4</td>
<td>记录</td>
</tr>
</tbody>
</table>
</body>
</html>