JS实现可改变列宽的table实例


Posted in Javascript onJuly 02, 2013
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="gbk"> 
<title>table</title> 
</head> 
<body> 
<table id="tb_1" cellspacing="0" cellpadding="2" width="100%" border="1"> 
<tbody> 
<tr align="center" bgcolor="#dcdcdc"> 
<td style="width:100px;">用户编号</td> 
<td>试用时间</td><td>转正时间</td><td>性别</td><td>姓名拼音</td> 
<td>生日时间</td><td>民族</td><td>身高</td> 
</tr> 
<tr> 
<td>2000001</td> 
<td>1997-3-13</td><td>1997-3-13</td><td>1</td><td>WZJ</td> 
<td>1965-3-13</td><td>汉</td><td>171</td> 
</tr> 
<tr> 
<td>2000045</td> 
<td>2001-2-15</td><td>2001-3-15</td><td>0</td><td>WY</td> 
<td>1978-8-5</td><td>汉</td><td>162</td> 
</tr> 
<tr> 
<td>2000046</td> 
<td>2001-2-23</td><td>2001-3-23</td><td>0</td><td>LQ</td> 
<td>2001-2-23</td><td>汉</td><td>171</td> 
</tr> 
</tbody> 
</table> 
<script type="text/javascript"> 
var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题 
var table = document.getElementById("tb_1"); 
for (j = 0; j < table.rows[0].cells.length; j++) { 
table.rows[0].cells[j].onmousedown = function () { 
//记录单元格 
tTD = this; 
if (event.offsetX > tTD.offsetWidth - 10) { 
tTD.mouseDown = true; 
tTD.oldX = event.x; 
tTD.oldWidth = tTD.offsetWidth; 
} 
//记录Table宽度 
//table = tTD; while (table.tagName != ‘TABLE') table = table.parentElement; 
//tTD.tableWidth = table.offsetWidth; 
}; 
table.rows[0].cells[j].onmouseup = function () { 
//结束宽度调整 
if (tTD == undefined) tTD = this; 
tTD.mouseDown = false; 
tTD.style.cursor = 'default'; 
}; 
table.rows[0].cells[j].onmousemove = function () { 
//更改鼠标样式 
if (event.offsetX > this.offsetWidth - 10) 
this.style.cursor = 'col-resize'; 
else 
this.style.cursor = 'default'; 
//取出暂存的Table Cell 
if (tTD == undefined) tTD = this; 
//调整宽度 
if (tTD.mouseDown != null && tTD.mouseDown == true) { 
tTD.style.cursor = 'default'; 
if (tTD.oldWidth + (event.x - tTD.oldX)>0) 
tTD.width = tTD.oldWidth + (event.x - tTD.oldX); 
//调整列宽 
tTD.style.width = tTD.width; 
tTD.style.cursor = 'col-resize'; 
//调整该列中的每个Cell 
table = tTD; while (table.tagName != 'TABLE') table = table.parentElement; 
for (j = 0; j < table.rows.length; j++) { 
table.rows[j].cells[tTD.cellIndex].width = tTD.width; 
} 
//调整整个表 
//table.width = tTD.tableWidth + (tTD.offsetWidth ? tTD.oldWidth); 
//table.style.width = table.width; 
} 
}; 
} 
</script> 
</body> 
</html>
Javascript 相关文章推荐
使用JavaScript库还是自己写代码?
Jan 28 Javascript
引用外部js乱码问题分析及解决方案
Apr 12 Javascript
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
jQuery选择器源码解读(七):elementMatcher函数
Mar 31 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
JS原型与继承操作示例
May 09 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
vue中在vuex的actions中请求数据实例
Nov 08 Javascript
JavaScript实现alert弹框效果
Nov 19 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 #Javascript
js猜数字小游戏的简单实现代码
Jul 02 #Javascript
jQuery中获取Radio元素值的方法
Jul 02 #Javascript
js网页版计算器的简单实现
Jul 02 #Javascript
js实现广告漂浮效果的小例子
Jul 02 #Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 #Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
Jul 02 #Javascript
You might like
无线电的诞生过程
2021/03/01 无线电
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
如何基于Python批量下载音乐
2019/11/11 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
关于Python错误重试方法总结
2021/01/03 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
C#面试问题
2016/07/29 面试题
情侣吵架检讨书
2014/02/05 职场文书
2014信息公开实施方案
2014/02/22 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
北京颐和园导游词
2015/01/30 职场文书
大班上学期个人总结
2015/02/13 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
德劲DE1108畅想
2021/04/22 无线电
React中的Context应用场景分析
2021/06/11 Javascript
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
sql server 累计求和实现代码
2022/02/28 SQL Server
HTML中的表格元素介绍
2022/02/28 HTML / CSS
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js