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 相关文章推荐
toString()一个会自动调用的方法
Feb 08 Javascript
js同比例缩放图片的小例子
Oct 30 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
js动态删除div元素基本思路及实现代码
May 08 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
Vue.js实战之Vuex的入门教程
Apr 01 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
Sep 27 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
原生js实现自定义滚动条组件
Jan 20 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
文件上传的实现
2006/10/09 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
python学习 流程控制语句详解
2016/06/01 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Python实现异步IO的示例
2020/11/05 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
运输服务质量承诺书
2014/03/27 职场文书
班委竞选演讲稿
2014/04/28 职场文书
迎国庆演讲稿
2014/09/15 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
建党伟业的观后感
2015/06/01 职场文书
教师师德工作总结2015
2015/07/22 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js