【问题标题】:HTML Table Solution Max Height Limit For Rows Or Cells By Increasing Table Width, JavascriptHTML表格解决方案通过增加表格宽度,Javascript来限制行或单元格的最大高度
【发布时间】:2015-11-01 03:48:00
【问题描述】:

我正在研究一个非常简单的 javascript 解决方案,在表格中使用 overflow-x:auto 时很有用,脚本通过增加表格宽度来降低行高,直到行缩小到理想的高度,(我还发现了其他具有相同高度问题的问题) .

现在只剩下两件事来完成这个脚本:

  1. 获取并检查表格每行高度的最佳方式(没有这个几乎没用)
  2. 尽可能简化代码。

我的 Javascript(仅检查特定行):

var h = document.getElementsByTagName('table')[0].rows[1].offsetHeight;
if (h > 200) {
document.getElementsByTagName('table')[0].style.width = "2000px";


var h = document.getElementsByTagName('table')[0].rows[1].offsetHeight;
if (h > 200) {
document.getElementsByTagName('table')[0].style.width = "3000px";


var h = document.getElementsByTagName('table')[0].rows[1].offsetHeight;
if (h > 200) {
document.getElementsByTagName('table')[0].style.width = "4000px";

}
}
}

请帮帮我...

我想也许有一个我不知道的简单代码,因为我是 javascript 的初学者,但是你们可能知道那个简单的代码...

编辑:如果你想限制表格行的高度,最后这是工作代码:

var i = 0, row, table = document.getElementsByTagName('table')[0], j = table.offsetWidth;
while (row = table.rows[i++]) {
    while (row.offsetHeight > 160 && j < 4000) {
        j += 300;
        table.style.width = j + 'px';
    }
}

for (var i = 0, row; row = document.getElementsByTagName('table')[0].rows[i]; i++) {
    if (row.offsetHeight > 200) {
        document.getElementsByTagName('table')[0].style.width = "1500px";
        if (row.offsetHeight > 200) {
            document.getElementsByTagName('table')[0].style.width = "2000px";
            if (row.offsetHeight > 200) {
                document.getElementsByTagName('table')[0].style.width = "2500px";
            }
        }
    }
}

【问题讨论】:

  • 您还可以根据需要编辑数字

标签: javascript


【解决方案1】:

没有人回答这个问题,但我自己找到了解决方案:

两者都可以:

var i = 0,
    j, row, table = document.getElementsByTagName('table')[0];
while (row = table.rows[i++]) {
    j = 1000;
    while (row.offsetHeight > 200 && j < 2500) {
        j += 500;
        table.style.width = j + 'px';
    }
}

for (var i = 0, row; row = document.getElementsByTagName('table')[0].rows[i]; i++) {
    if (row.offsetHeight > 200) {
        document.getElementsByTagName('table')[0].style.width = "1500px";
        if (row.offsetHeight > 200) {
            document.getElementsByTagName('table')[0].style.width = "2000px";
            if (row.offsetHeight > 200) {
                document.getElementsByTagName('table')[0].style.width = "2500px";
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 2023-03-23
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多