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编程的10个实用小技巧
Apr 18 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
Jun 04 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
Aug 14 Javascript
基于Vue的移动端图片裁剪组件功能
Nov 28 Javascript
JS严格模式知识点总结
Feb 27 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 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
phpize的深入理解
2013/06/03 PHP
php网站地图生成类示例
2014/01/13 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
详解Vue之事件处理
2020/07/10 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
python基于queue和threading实现多线程下载实例
2014/10/08 Python
Python的设计模式编程入门指南
2015/04/02 Python
python 调用HBase的简单实例
2016/12/18 Python
python数据处理实战(必看篇)
2017/06/11 Python
深入浅出学习python装饰器
2017/09/29 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
六道php面试题附答案
2014/06/05 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
大学毕业生的自我鉴定
2013/11/30 职场文书
标准自荐信范文
2014/01/29 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
励志演讲稿600字
2014/08/21 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
西柏坡观后感
2015/06/08 职场文书
遗失证明范文
2015/06/19 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书