拖拉表格的JS函数


Posted in Javascript onNovember 20, 2008

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>
Javascript 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
Oct 26 Javascript
jquery随机展示头像代码
Dec 21 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 Javascript
JavaScript获取当前网页最后修改时间的方法
Apr 03 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
JavaScript中Array方法你该知道的正确打开方法
Sep 11 Javascript
Django+Vue实现WebSocket连接的示例代码
May 28 Javascript
JS开发常用工具函数(小结)
Jul 04 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 Javascript
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 #Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
Nov 19 #Javascript
$.ajax json数据传递方法
Nov 19 #Javascript
jquery $.ajax入门应用二
Nov 19 #Javascript
jquery $.ajax入门应用一
Nov 19 #Javascript
传递参数的标准方法(jQuery.ajax)
Nov 19 #Javascript
仿迅雷焦点广告效果(JQuery版)
Nov 19 #Javascript
You might like
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
js注意img图片的onerror事件的分析
2011/01/01 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
先进事迹报告会感言
2014/01/24 职场文书
节约用水倡议书
2014/04/16 职场文书
2014年教师工作总结
2014/11/10 职场文书
优秀班主任材料
2014/12/16 职场文书
警示教育观后感
2015/06/17 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server