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 相关文章推荐
不用MOUSEMOVE也能滑动啊
May 23 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
Jul 17 Javascript
jquery中常用的函数和属性详细解析
Mar 07 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
第七章之菜单按钮图标组件
Apr 25 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
Javascript实现基本运算器
Jul 15 Javascript
vue2.0在table中实现全选和反选的示例代码
Nov 04 Javascript
基于vue cli重构多页面脚手架过程详解
Jan 23 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
浅析 Vue 3.0 的组装式 API(一)
Aug 31 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
PHP与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
php中序列化与反序列化详解
2017/02/13 PHP
JavaScript面象对象设计
2008/04/28 Javascript
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
Vue自定义指令使用方法详解
2017/08/21 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
对python的输出和输出格式详解
2018/12/08 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
行政助理的岗位职责
2014/02/18 职场文书
企业理念标语
2014/06/09 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
德生2P3收音机开箱评测
2022/04/30 无线电
Java版 单机五子棋
2022/05/04 Java/Android