我在经过艰苦的研究后制作了以下代码,并且使其工作,我完成了谷歌研究,但是不能得到如何结合这些if语句,我知道它们可以更简单的方式编写,但在我的情况下如何,请告诉我如何每次增加500px,在我的情况下,请帮助...
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";
}
}
}
}
答案 0 :(得分:2)
看起来您可以使用while
var i = 0, j, row, table = document.getElementsByTagName('table')[0];
j = table.offsetWidth;
while (row = table.rows[i++]) {
while (row.offsetHeight > 200 && j < 2500) {
j += 500;
table.style.width = j + 'px';
}
}
答案 1 :(得分:0)
如果要从单个if语句调用所有document.getElement ...,则需要的格式为:
if (row.offsetHeight > 200)
{
document.getElements...1;
document.getElements...2;
//and so on.
}
大括号是告诉浏览器如果条件返回true,应该只执行所有子语句。
for (var i = 0, row = document.getElementsByTagName('table')[0].rows[i]; i < row; i++) {
if (row.offsetHeight > 200)
{
document.getElementsByTagName('table')[0].style.width = "1500px";
document.getElementsByTagName('table')[0].style.width = "2000px";
document.getElementsByTagName('table')[0].style.width = "2500px";
}
}
老实说,我不确定你之后会有什么影响。这将是对row.offsetHeight&gt;的测试。 200,并以三个步骤递增('table')[0]的样式高达2500px,然后重复该进程行时间。如果你能解释一下你想要的效果,我可以提供更多帮助。
var table = document.getElementsByTagName("table")
while (row.offsetHeight > 200)
{
table[0].style.width += 500;
}
我认为这样的事情可能会产生你正在寻找的行为。