xieex's blog


从事软件开发的交流平台

我的人生信念:态度决定一切
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

拖动表列改变table的列宽度(JavaScript脚本实现)

Posted on 2007-12-15 15:41  xieex  阅读(3400)  评论(1编辑  收藏  举报

拖动表列改变table的列宽度,用JavaScript脚本实现,在项目中正好用到,收藏!见下面代码。。。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style>
.resizeDivClass
{
position:relative;
background
-color:red;
width:
2;
z
-index:1;
left:expression(
this.parentElement.offsetWidth-1);
cursor:e
-resize;
}

</style>
<script language=javascript>
function MouseDownToResize(obj){
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>0)
    
{
obj.parentElement.style.width 
= newWidth;
//theObjTable.style.width=obj.pareneTableW*1+event.clientX*1-obj.mouseDownX;
}

}

function MouseUpToResize(obj){
obj.releaseCapture();
obj.mouseDownX
=0;
}

</script>
</head>
<body>
拖动表列改变table的列宽度
<table id=theObjTable STYLE="table-layout:fixed" >
<tr bgcolor=cccccc >
<td valign=top >
<font class="resizeDivClass" onmousedown="MouseDownToResize(this);" 
onmousemove
="MouseMoveToResize(this);" onmouseup="MouseUpToResize(this);"></font>
列一
</td>
<td valign=top >
<font class="resizeDivClass" onmousedown="MouseDownToResize(this);" 
onmousemove
="MouseMoveToResize(this);" onmouseup="MouseUpToResize(this);"></font>
列二
</td>
<td valign=top >
<font class="resizeDivClass" onmousedown="MouseDownToResize(this);" 
onmousemove
="MouseMoveToResize(this);" onmouseup="MouseUpToResize(this);"></font>
列三
</td>
</tr>
<tr>
<td>拖动表列改变table的列宽度</td><td>拖动表列改变table的列宽度</td><td>拖动表列改变table的列宽度</td>
</tr>
</table>
</body>
</html>