【发布时间】:2015-11-01 03:48:00
【问题描述】:
我正在研究一个非常简单的 javascript 解决方案,在表格中使用 overflow-x:auto 时很有用,脚本通过增加表格宽度来降低行高,直到行缩小到理想的高度,(我还发现了其他具有相同高度问题的问题) .
现在只剩下两件事来完成这个脚本:
- 获取并检查表格每行高度的最佳方式(没有这个几乎没用)
- 尽可能简化代码。
我的 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