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 相关文章推荐
jQuery与其它库冲突的解决方法
Jun 25 Javascript
原生javascript获取元素样式属性值的方法
Dec 25 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
Aug 21 Javascript
JS合并数组的几种方法及优劣比较
Sep 19 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
JavaScript利用闭包实现模块化
Jan 13 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
20道JS原理题助你面试一臂之力(必看)
Jul 22 Javascript
Vue实现点击显示不同图片的效果
Aug 10 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中的超全局变量
2006/10/09 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
php导出生成word的方法
2015/12/25 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
python队列原理及实现方法示例
2019/11/27 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
python之语音识别speech模块
2020/09/09 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
中学生差生评语
2014/01/30 职场文书
总经理任命书
2014/03/29 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python