700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > html表格宽度拖拽 原生js实现 拖拽改变 table表格列宽

html表格宽度拖拽 原生js实现 拖拽改变 table表格列宽

时间:2019-05-17 13:12:00

相关推荐

html表格宽度拖拽 原生js实现 拖拽改变 table表格列宽

table

var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题

var table = document.getElementById("tb_3");

for (j = 0; j < table.rows[0].cells.length; j++) {

table.rows[0].cells[j].onmousedown = function () {

//记录单元格

tTD = this;

if (event.offsetX > tTD.offsetWidth - 10) {

tTD.mouseDown = true;

tTD.oldX = event.x;

tTD.oldWidth = tTD.offsetWidth;

}

//记录Table宽度

//table = tTD; while (table.tagName != ‘TABLE') table = table.parentElement;

//tTD.tableWidth = table.offsetWidth;

};

table.rows[0].cells[j].onmouseup = function () {

//结束宽度调整

if (tTD == undefined) tTD = this;

tTD.mouseDown = false;

tTD.style.cursor = 'default';

};

table.rows[0].cells[j].onmousemove = function () {

//更改鼠标样式

if (event.offsetX > this.offsetWidth - 10)

this.style.cursor = 'col-resize';

else

this.style.cursor = 'default';

//取出暂存的Table Cell

if (tTD == undefined) tTD = this;

//调整宽度

if (tTD.mouseDown != null && tTD.mouseDown == true) {

tTD.style.cursor = 'default';

if (tTD.oldWidth + (event.x - tTD.oldX) > 0)

tTD.width = tTD.oldWidth + (event.x - tTD.oldX);

//调整列宽

tTD.style.width = tTD.width;

tTD.style.cursor = 'col-resize';

//调整该列中的每个Cell

table = tTD;

while (table.tagName != 'TABLE') table = table.parentElement;

for (j = 0; j < table.rows.length; j++) {

table.rows[j].cells[tTD.cellIndex].width = tTD.width;

}

//调整整个表

//table.width = tTD.tableWidth + (tTD.offsetWidth – tTD.oldWidth);

//table.style.width = table.width;

}

};

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。