拖动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 相关文章推荐
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
js图片实时加载提供网页打开速度
Sep 11 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
JSP基于Bootstrap分页显示实例解析
Jun 12 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
vue form 表单提交后刷新页面的方法
Sep 04 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 Javascript
在antd Form表单中select设置初始值操作
Nov 02 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&amp;mysql(五)
2006/10/09 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python中@property的理解和使用示例
2019/06/11 Python
python 创建一维的0向量实例
2019/12/02 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
python 实现汉诺塔游戏
2020/11/28 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
js实现弹框效果
2021/03/24 Javascript
大学毕业生通用自荐信范文
2013/10/31 职场文书
语文教学随笔感言
2014/02/18 职场文书
募捐倡议书
2014/04/14 职场文书
物流管理专业求职信
2014/05/29 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
埃及王子观后感
2015/06/16 职场文书
推普标语口号大全
2015/12/26 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书