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 相关文章推荐
location.href语句与火狐不兼容的问题
Jul 04 Javascript
javascript实现控制div颜色
Jul 07 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
js中string和number类型互转换技巧(分享)
Nov 28 Javascript
Vue.js教程之axios与网络传输的学习实践
Apr 29 Javascript
JS实现图片预览的两种方式
Jun 27 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 Javascript
微信小程序实现watch监听
Jun 04 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 Javascript
Vue vee-validate插件的简单使用
Jun 22 Vue.js
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 smarty模版引擎中的缓存应用
2009/12/11 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
JavaScript 的继承
2011/10/01 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
简单实现js浮动框
2016/12/13 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
基于Python实现扑克牌面试题
2019/12/11 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
高级运动鞋:GREATS
2019/07/19 全球购物
大学生入党思想汇报
2014/01/14 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
音乐教育感言
2014/03/05 职场文书
年终总结会主持词
2014/03/25 职场文书
股权投资意向书
2014/04/01 职场文书
全运会口号
2014/06/20 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书