可以拖动改变table列宽的sample
来源:互联网 发布:淘宝店铺简介格式 编辑:程序博客网 时间:2024/05/01 23:24
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<script language="javascript" src="resizeCol.js"></script>
</head>
<table id="tbl" border=0 cellspacing="1" cellpadding="5" bgcolor=#660000>
<tr><td nowrap bgcolor=#bbbbbb>一</td><td nowrap bgcolor=#bbbbbb>标题二</td><td nowrap bgcolor=#bbbbbb>标题三</td><td nowrap bgcolor=#bbbbbb>标题四</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
<tr><td bgcolor=#bbbbbb>内容A</td><td bgcolor=#ffffff>内容B</td><td bgcolor=#ffffff>内容C</td><td bgcolor=#ffffff>内容D</td></tr>
</table>
<script language="javascript">
setResizeAble(tbl);
var onDrag=0,gblResizeObj;
var blStartMove = false;
var blTd = false;
function setResizeAble(argTable){ //组件接口函数
with(argTable){
attachEvent('onmousedown',colResizeStart)
attachEvent('onmousemove',colResizeIng)
attachEvent('onmouseup',colResizeEnd)
// attachEvent('onmouseout',colResizeOut) //针对最末列引起的问题加入,但又影响到其他列,还是不加
}
}
function findPos(obj){ //取得本元素的绝对坐标
var x=obj.offsetLeft, y=obj.offsetTop;
while(obj=obj.offsetParent){x += obj.offsetLeft;y += obj.offsetTop;}
this.intX=x; this.intY=y;
return this
}
function colResizeStart(){ //开始拖动
blStartMove = true;
var srcObj=event.srcElement,tblParent=srcObj.parentElement;
while(tblParent.tagName!='TABLE')tblParent=tblParent.parentElement
if(srcObj.tagName!='TD')return
if(srcObj.parentElement.rowIndex==0){
// if(srcObj.offsetWidth - event.offsetX <=3 && srcObj.cellIndex!=srcObj.parentElement.cells.length - 1){
if(srcObj.offsetWidth - event.offsetX <=3){ //如果取消最末列的动态改列宽功能可用上句
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
onDrag=1;
}
if(event.offsetX <=3 && srcObj.cellIndex != 0){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex - 1];
onDrag=1;
}
} //else{
//if(srcObj.offsetHeight - event.offsetY <=3 && srcObj.parentElement.rowIndex < tblParent.rows.length - 1){
// gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
// onDrag=2;
//}
//}
}
function colResizeIng(){ //正在拖动
var objSrcTd=event.srcElement,tblParent=objSrcTd.parentElement;
while(tblParent=tblParent.parentElement)if(tblParent.tagName=='TABLE')break;
if(objSrcTd.tagName == "TD" && (Math.abs(event.offsetX) <= 3 || Math.abs(objSrcTd.offsetWidth - event.offsetX)<=3) && objSrcTd.cellIndex != 0 && objSrcTd.parentElement.rowIndex==0){
blTd = true;
objSrcTd.document.body.style.cursor='col-resize';
}
else{
// if(objSrcTd.tagName == "TD" && Math.abs(objSrcTd.offsetHeight - event.offsetY)<=3 && objSrcTd.parentElement.rowIndex > 0 && objSrcTd.parentElement.rowIndex < tblParent.rows.length - 1){
// objSrcTd.document.body.style.cursor='row-resize';
// }else{
if(blStartMove)
objSrcTd.document.body.style.cursor='default';
// }
}
if(onDrag!=1 && onDrag!=2)return;
var trSrc=gblResizeObj.parentElement;
if(onDrag==1){
var intPosX=(new findPos(gblResizeObj)).intX
gblResizeObj.style.pixelWidth = event.x - intPosX;
}
// if(onDrag==2){ //改变行高
// var intHeight=0,intPosY=(new findPos(gblResizeObj)).intY
// intHeight = objSrcTd.offsetHeight + event.y - intPosY;
// tblParent.style.pixelHeight = intHeight * tblParent.rows.length
// }
}
function colResizeEnd(){ //拖动结束
blStartMove = false;
onDrag=0;
document.body.style.cursor='default'
}
/**//* function colResizeOut(){ //鼠标移出Table范围则拖动结束
if(event.srcElement.tagName=="TABLE"){
onDrag=0;
document.body.style.cursor='default';
}
}
*/
</script>
- 可以拖动改变table列宽的sample
- 拖动改变Table的列宽度
- 拖动改变Table的列宽度
- 可以拖动表头改变列的宽度
- table拖动列宽
- 改变table列宽
- 可以拖动的table--html
- 可通过拖动改变列宽的网格源码
- JS拖动改变表格列宽的实现
- 主题:使用table+iframe实现可以拖动改变框架宽度
- 可以随意拖动的div对象操作sample
- table表格列宽拖动功能
- GridView拖动改变列宽、列顺序、列排序
- JavaScript实现拖动改变列宽
- jquery 拖动表格 改变列宽
- js 实现table每列可左右拖动改变列宽度
- table拖动表格列宽度
- 实现拖动table标题实现改变td的大小
- BusinessObjects产品介绍
- 新闻一条一条的滚动
- 解决IE的文本框无法输入任何字符的问题
- 情人节起源--传说
- 优化数据库前必须问自己的10个问题
- 可以拖动改变table列宽的sample
- OO的JavaScript
- Spring -- 简单使用quartz实现定时作业
- 拖动交换单元格内容
- 新的一年--鼠年
- 给自己的最爱。。。
- 用table实现的拖拽sample
- precreatewindow里面做了什么?
- 关于primary文件组已满的原因及解决方法总结