拖拉表格的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 相关文章推荐
js tab 选项卡
Apr 26 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
Nov 30 Javascript
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
浅谈javascript中的作用域
Apr 07 Javascript
js实现在文本框光标处添加字符的方法介绍
Nov 24 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
详解JavaScript的表达式与运算符
Nov 30 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
jQuery pagination分页示例详解
Oct 23 jQuery
利用d3.js力导布局绘制资源拓扑图实例教程
Jan 08 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
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
jquery无缝向上滚动实现代码
2013/03/29 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
jquery自定义表格样式
2015/11/23 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
python 把列表转化为字符串的方法
2018/10/23 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
《菜园里》教学反思
2014/04/17 职场文书
HR求职自荐信范文
2014/06/21 职场文书
企业委托书范本
2014/09/13 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
python某漫画app逆向
2021/03/31 Python
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
排查Tomcat进程假死的问题
2022/05/06 Servers