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

Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
用ADODB.Stream转换
html读出文本文件内容
自适应高度框架 ----属个人收藏内容
Maps Javascript
JAVASCRIPT HashTable
一页面多XMLHttpRequest对象
网页javascript精华代码集
判断浏览器的js代码
JS判断浏览器之Navigator对象
用js自动判断浏览器分辨率的代码
用JavaScript和注册表脚本实现右键收藏Web页选中文本
判断页面是关闭还是刷新的js代码
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
叠加计算出错的解决方法
一个轻量级的XHTML右键菜单[支持IE和firefox]
一些易混淆且不常用的属性,希望有用
网易首页的新闻代码
Flash对联广告的关闭按钮讨论
用JS获得表格当前行数的代码

Javascript 中的 拖拉表格的JS函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 181 ::
收藏到网摘: 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>