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 相关文章推荐
执行iframe中的javascript方法
Oct 07 Javascript
在IE上直接编辑网页内容的js代码(IE地址栏js)
Apr 27 Javascript
Prototype 学习 工具函数学习($w,$F方法)
Jul 12 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
May 08 Javascript
jQuery拖动图片删除示例
May 10 Javascript
JavaScript代码复用模式详解
Nov 07 Javascript
javascript实现确定和取消提示框效果
Jul 10 Javascript
10个经典的网页鼠标特效代码
Jan 09 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
layui输入框只允许输入中文且判断长度的例子
Sep 18 Javascript
Windows下安装 node 的版本控制工具 nvm
Feb 06 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 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学习之PHP变量
2006/10/09 PHP
php购物车实现代码
2011/10/10 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
如何编写jquery插件
2017/03/29 jQuery
浅谈原型对象的常用开发模式
2017/07/22 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
大学生应聘推荐信范文
2013/11/19 职场文书
四风问题查摆材料
2014/08/25 职场文书
对照检查剖析材料
2014/09/30 职场文书
审美与表现自我评价
2015/03/09 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js