拖动table标题实现改变td的大小(css+js代码)


Posted in Javascript onApril 16, 2013
<html> 
<title>拖动列宽的表格</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style type="text/css"><!-- 
.bg td{ 
font-size:12px; 
text-align:left; 
line-height:15px; 
height:20px; 
} 
.bg td.tit{ 
background-color:#e2e2e2; 
height:17px; 
text-align:center; 
line-height:15px; 
} 
.bg td.num{ 
background-color:#e2e2e2; 
text-align:right; 
line-height:15px; 
width:30px; 
height:22px; 
} 
.resizeDivClass{ 
text-align:right; 
width:1px; 
margin:0px 0 0px 0; 
background:#fff; 
border:0px; 
float:right; 
cursor:e-resize; 
} 
--></style> 
<script language="javascript"><!-- 
function MouseDownToResize(obj){ 
setTableLayoutToFixed(); 
obj.mouseDownX=event.clientX; 
obj.pareneTdW=obj.parentElement.offsetWidth; 
obj.pareneTableW=theObjTable.offsetWidth; 
obj.setCapture(); 
} 
function MouseMoveToResize(obj){ 
if(!obj.mouseDownX) return false; 
var newWidth=obj.pareneTdW*1+event.clientX*1-obj.mouseDownX; 
if(newWidth>10) 
{ 
var theObjTable = document.getElementById("theObjTable"); 
obj.parentElement.style.width = newWidth; 
theObjTable.style.width=obj.pareneTdW*1+event.clientX*1-obj.mouseDownX; 
} 
} 
function MouseUpToResize(obj){ 
obj.releaseCapture(); 
obj.mouseDownX=0; 
} 
function setTableLayoutToFixed() 
{ 
var theObjTable = document.getElementById("theObjTable"); 
if(theObjTable.style.tableLayout=='fixed') return; 
var headerTr=theObjTable.rows[0]; 
for(var i=0;i<headerTr.cells.length;i++) 
{ 
headerTr.cells[i].styleOffsetWidth=headerTr.cells[i].offsetWidth; 
} 
for(var i=0;i<headerTr.cells.length;i++) 
{ 
headerTr.cells[i].style.width=headerTr.cells[i].styleOffsetWidth; 
} 
theObjTable.style.tableLayout='fixed'; 
} 
function theObjTable(o,a,b,c){ 
var t=document.getElementById(o).getElementsByTagName("tr"); 
for(var i=0;i<t.length;i++){ 
t[i].style.backgroundColor=(t[i].sectionRowIndex%2==0)?a:b; 
t[i].onclick=function(){ 
if(this.x!="1"){ 
}else{ 
this.x="0"; 
this.style.backgroundColor=(this.sectionRowIndex%2==0)?a:b; 
} 
} 
t[i].onmouseover=function(){ 
if(this.x!="1")this.style.backgroundColor=c; 
} 
t[i].onmouseout=function(){ 
if(this.x!="1")this.style.backgroundColor=(this.sectionRowIndex%2==0)?a:b; 
} 
} 
} 
// --></script> 
<body> 
<table width="100%" class="bg" border=1 cellspacing=0 bordercolorlight="#7b7b7b" bordercolordark="#efefef" id="theObjTable"> 
<tr> 
<td class="num">序号</td> 
<td width="100px" class="tit"> 
<span class="resizeDivClass" onMouseDown="MouseDownToResize(this);" onMouseMove="MouseMoveToResize(this);" onMouseUp="MouseUpToResize(this);"></span> 
公司名称 
</td> 
<td class="tit"> 
<span class="resizeDivClass" onMouseDown="MouseDownToResize(this);" onMouseMove="MouseMoveToResize(this);" onMouseUp="MouseUpToResize(this);"></span> 
订单客户 
</td> 
<td class="tit"> 
<span class="resizeDivClass" onMouseDown="MouseDownToResize(this);" onMouseMove="MouseMoveToResize(this);" onMouseUp="MouseUpToResize(this);"></span> 
部门 
</td> 
<td class="tit"> 
<span class="resizeDivClass" onMouseDown="MouseDownToResize(this);" onMouseMove="MouseMoveToResize(this);" onMouseUp="MouseUpToResize(this);"></span> 
业务员 
</td> 
<td class="tit"> 
<span class="resizeDivClass" onMouseDown="MouseDownToResize(this);" onMouseMove="MouseMoveToResize(this);" onMouseUp="MouseUpToResize(this);"></span> 
交款方式 
</td> 
</tr> 
<tr> 
<td class="num" >1</td> 
<td >中国电信</td> 
<td >订单客户名称</td> 
<td >广告部</td> 
<td >王天一</td> 
<td >现金</td> 
</tr> 
<tr> 
<td class="num" >2</td> 
<td >中国移动</td> 
<td >订单客户名称</td> 
<td >营销部</td> 
<td >李小红</td> 
<td >信用卡</td> 
</tr> 
<tr> 
<td class="num" >3</td> 
<td >中国联通</td> 
<td >订单客户名称</td> 
<td >市场部</td> 
<td >王老二</td> 
<td >银行卡</td> 
</tr> 
</table> 
<script language="javascript"><!-- 
//senfe("表格名称","奇数行背景","偶数行背景","鼠标经过背景","点击后背景"); 
theObjTable("theObjTable","#c0c0c0","#fff","#a3a2a2"); 
// --></script> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
HTML中的setCapture和releaseCapture使用介绍
Mar 21 Javascript
js中prototype用法详细介绍
Nov 14 Javascript
JS检测输入字符是否包含非法字符的示例代码
Feb 11 Javascript
vue-cli构建项目使用 less的方法
Oct 04 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 Javascript
vue通信方式EventBus的实现代码详解
Jun 10 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
gojs实现蚂蚁线动画效果
Feb 18 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
Apr 16 #Javascript
jquery表格内容筛选实现思路及代码
Apr 16 #Javascript
js实现图片轮换效果代码
Apr 16 #Javascript
js相册效果代码(点击创建即可)
Apr 16 #Javascript
jQuery实现点击标题输入详细信息
Apr 16 #Javascript
jQuery图片的展开和收缩实现代码
Apr 16 #Javascript
js变换显示图片的实例
Apr 16 #Javascript
You might like
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
简单谈谈favicon
2015/06/10 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
小学三年级学生评语
2014/04/22 职场文书
政府四风问题整改措施
2014/10/04 职场文书
2014年电厂工作总结
2014/12/04 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL