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 相关文章推荐
使用百度地图api实现根据地址查询经纬度
Dec 11 Javascript
js正则表达式匹配数字字母下划线等
Apr 14 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
jQuery的extend方法【三种】
Dec 14 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
Jan 23 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
JavaScript实用代码小技巧
Aug 23 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
Vue filter 过滤器、以及在table中的使用介绍
Sep 07 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
新手简单了解vue
2019/05/29 Javascript
跟老齐学Python之for循环语句
2014/10/02 Python
Python中的ceil()方法使用教程
2015/05/14 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
中专毕业生自我鉴定
2013/11/21 职场文书
应届生个人求职信模板
2013/11/26 职场文书
社团成立邀请函
2014/01/08 职场文书
一份文言文检讨书
2014/09/13 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
学生会招新宣传语
2015/07/13 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
vue实现简易音乐播放器
2022/08/14 Vue.js