这个javascript if语句有什么问题

Shi*_*min 0 javascript

Javascript显示/隐藏标签和iFrame的功能:

function ChangeStep(id)
{
    var i = 1;
    // hide all other tabs:
    while(i<3) {
        var divID = 'tabs' + i;
        if (divID !== null) {
            document.getElementById(divID).className = " hide";
        }
        i++;
    }

    // show this one
    document.getElementById(id).className = " show";
}

if (id == "tab2") {
    document.getElementById(iFrame).className = " iFrame2";
}
else if (id == "tab1") {
    document.getElementById(iFrame).className = " iFrame1";
}
Run Code Online (Sandbox Code Playgroud)

选项卡的更改有效,但底部的if语句似乎不起作用.

编辑

问题是我有一个ID为的iFrame 'iFrame'.现在我在css文件中创建了两个名为:的类'iFrame1','iFrame2'它们具有不同的设置,使iFrame看起来不同.上面的函数在更改'tabs'(将"显示"类添加到一个而将"隐藏"添加到所有其他类型)时没有问题.但它似乎没有改变iFrames类,'iFrame2' and/or 'iFrame1' 我不能把它放在JSFiddle上,因为我的网站很大程度上依赖于图像,所以我只是将你链接到我上传的地方:www.FeedtheSyrians.com

Ler*_*erp 5

if语句不在函数体内,这意味着在调用函数时它不会被执行.

我不知道什么时候会被执行.我不是JS专家,我不想做(受过教育的)猜测,也许有更多知识的人可以说.