当有人按下一个按钮时,我想尝试一次只能看到一个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。
答案 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。 我希望你能理解..