拖动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 相关文章推荐
nicejforms——美化表单不用愁
Feb 20 Javascript
jQuery中parents()方法用法实例
Jan 07 Javascript
浅析javascript的return语句
Dec 15 Javascript
jQuery的事件预绑定
Dec 05 Javascript
Angular 输入框实现自定义验证功能
Feb 19 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
Vue分页插件的前后端配置与使用
Oct 09 Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 Javascript
Vue实现开关按钮拖拽效果
Sep 22 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
图书管理程序(一)
2006/10/09 PHP
PHP与javascript的两种交互方式
2006/10/09 PHP
php接口技术实例详解
2016/12/07 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
python根据经纬度计算距离示例
2014/02/16 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python实现微信防撤回神器
2019/04/29 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
Python urllib3软件包的使用说明
2020/11/18 Python
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
优秀中专生推荐信
2013/11/17 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
毕业生个人自荐书
2015/03/05 职场文书
python spilt()分隔字符串的实现示例
2021/05/21 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python