我有一个工作切换我的代码除了一个小问题,我不知道该怎么做来解决它。有人可以帮帮我吗。我在jsfiddle ... http://jsfiddle.net/ydvuN/10/
中复制了代码问题:如果您单击选项卡1或选项卡3作为初始点击,则菜单会隐藏,然后您必须单击选项卡2才能显示备份。在初始单击之后,脚本的工作方式应该如此,在显示和隐藏菜单的选项卡之间切换。
现在,重新加载页面并点击标签2作为您的初始点击,菜单就像它应该立即工作,在显示其相应菜单的不同标签之间切换。
我不想完全隐藏菜单...我总是希望一个菜单始终显示,但是从不想要显示多个菜单。无论您先点击哪个标签,菜单都应相互切换。
我知道这可能会发生,因为我在Tab 1和Tab 3上有display: none
而在Tab 2上有display: block
。我这样做是因为我希望Tab 2在默认情况下显示为默认值页面加载。
任何有关纠正我的问题的帮助将不胜感激。谢谢!
答案 0 :(得分:1)
.style.display
与仅检查项目是否显示不同。它实际上是检查HTML上的style="something"
属性 - 它会覆盖您在样式表中设置的CSS。
所以 - 当你开始时,你的元素不有style.display = 'none'
。实际上,style.display
未设置。
要解决此问题,我只需将所选标签设置为style.display='block'
,无论它已经设置为:
...
for (var i = 0; i < allIds.length; i++) {
if (allIds[i] != a) {
document.getElementById(allIds[i]).style.display="none";
}
}
e.style.display="block";
return true;
}