拖拉表格的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 相关文章推荐
表单(FORM)的一些实用效果代码
Mar 25 Javascript
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
JQuery 选择器 xpath 语法应用
May 13 Javascript
JavaScript OOP面向对象介绍
Dec 02 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
javascript中eval解析JSON字符串
Feb 27 Javascript
js实现不重复导入的方法
Mar 02 Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
Aug 24 Javascript
JavaScript享元模式原理与用法实例详解
Mar 09 Javascript
JS轮播图的实现方法
Aug 24 Javascript
node中使用shell脚本的方法步骤
Mar 23 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
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
php按字符无乱码截取中文的方法
2015/03/27 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python Gitlab Api 使用方法
2019/08/28 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
西班牙在线光学:Visual-Click
2020/06/22 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
一组SQL面试题
2016/02/15 面试题
光声世纪笔试题目
2012/08/25 面试题
小学教师管理制度
2014/01/18 职场文书
小学生暑假家长评语
2014/04/17 职场文书
供货协议书
2014/04/22 职场文书
2015年清明节活动总结
2015/02/09 职场文书
学生会工作感言
2015/08/07 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL