一次可见一个div

时间:2016-12-26 17:32:13

标签: javascript html css

当有人按下一个按钮时,我想尝试一次只能看到一个div。因此,当他们点击另一个按钮时,弹出相应的div,最后一个隐藏。

我尝试了for循环:

function display(x) {

    for (i=0; i<content.length; i++){
        content[i].style.display = 'none';
    }

    if(x = content[i]){
        x.style.display = 'inline';
    }
}

这没有做任何事情。

我尝试在循环中嵌套if语句,但它导致所有内容都可见。

我已将下面的jsfiddle联系起来。

请不要jQuery回答,因为我试图先学习纯JavaScript。

提前致谢。
https://jsfiddle.net/ethacker/rp59g9cf/

3 个答案:

答案 0 :(得分:1)

你没有把if放在循环中。因此,它只会检查i的最后一个值。此外,等于==。你应该这样做:

function display(x) {

    for (i=0; i<content.length; i++){
        if(x == content[i]){
            x.style.display = 'inline';
        } else {
            content[i].style.display = 'none';
        }
    }

}

答案 1 :(得分:0)

请参阅此fiddle example代码,我稍微修改了您的代码

var currDisplayElm;
//function
function display(content) {

    if(currDisplayElm)
       currDisplayElm.style.display = 'none';

    currDisplayElm = content;
    content.style.display = 'inline';
}

答案 2 :(得分:0)

据我了解。 Ithink如果你点击按钮调用函数然后按顺序设置div Id,你应该传递你想要显示的div div。 并且div名必须相同然后你可以隐藏其他div。 我希望你能理解..