如何组合多个if语句

时间:2015-08-09 02:07:32

标签: javascript

我在经过艰苦的研究后制作了以下代码,并且使其工作,我完成了谷歌研究,但是不能得到如何结合这些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";
            }
        }
    }
}

2 个答案:

答案 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;
}

我认为这样的事情可能会产生你正在寻找的行为。