表格列宽可拖动的例子

搜了一段代码,为了适应自己需要,简单改了一下,还可用。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
table{
border-left:1px solid black;
width:100%;
border-top:1px solid black
}
td{
border-bottom:1px solid black;
border-right:1px solid black;
overflow:hidden
}
th{
-moz-user-select: none;
}
.resizeDivClass{
PADDING-RIGHT: 0px;
MARGIN-RIGHT: 0px;
float:right;
cursor:e-resize;
HEIGHT: 100%;
width:4px;
}
</style>

</head>
<body>
<div style="width:1100" >
<table style="table-layout:fixed" id="table1">
<tr>
<td>Jane</td>
<td>5555</td>
<td>right here</td>
</tr>
<tr>
<td>Jane</td>
<td>上个月一艘前往伊朗港口的运载3.6万吨小麦的香港籍货船连同25名船员被海盗劫持,伊朗曾与海盗进行谈判,但现在伊朗决定用武力来营救船员。2个月前,伊朗政府曾经为一艘被劫持的伊朗货船交付了赎金</td>
<td>I don't care</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<script language="javascript" type="text/javascript">
document.body.attachEvent("onmousemove",MouseMoveToResize);
document.body.attachEvent("onmouseup",MouseUpToResize);
var tabObj = document.getElementById("table1");

for(var i=0;i<tabObj.rows(0).cells.length;i++){
var oSpan = document.createElement("SPAN");
oSpan.attachEvent("onmousedown",MouseDownToResize);
oSpan.attachEvent("onmouseup",MouseUpToResize);
oSpan.className = "resizeDivClass";
tabObj.rows(0).cells[i].appendChild(oSpan);
}

var dragobj=null;
function MouseDownToResize(){
var event = window.event;
var obj = event.srcElement;
obj.focus();
document.body.style.cursor = "e-resize";
obj.parentTdW=obj.parentNode.offsetWidth;
var sibling = obj.parentNode.nextSibling;
obj.siblingW = sibling.offsetWidth;
obj.totalWidth = obj.siblingW + obj.parentTdW;
if(obj.parentElement)
obj.mouseDownX=event.clientX;
else
obj.mouseDownX=event.pageX;
dragobj=obj;
}
function MouseMoveToResize(event){
var e = event||window.event;
if(dragobj==null)
return false;

if(!dragobj.mouseDownX)
return false;

newWidth=dragobj.parentTdW+e.clientX-dragobj.mouseDownX;
var sibling = dragobj.parentNode.nextSibling;
//if width of column does not exceed minimum width 80, set column width
if(newWidth>80 && (dragobj.totalWidth-newWidth)>80){
dragobj.parentNode.style.width = dragobj.parentTdW+e.clientX-dragobj.mouseDownX;
sibling.style.width = dragobj.siblingW-e.clientX+dragobj.mouseDownX;
}
}
function MouseUpToResize(){
if(dragobj==null) return false;
dragobj.mouseDownX=0;
document.body.style.cursor = "";
dragobj=null;
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值