【发布时间】:2012-11-29 23:50:56
【问题描述】:
<script type="text/javascript">
var _hidediv = null;
function showdiv(id) {
if(_hidediv)
_hidediv();
var div = document.getElementById(id);
div.style.display = 'block';
_hidediv = function () { div.style.display = 'none'; };
}
</script>
#nav li { width: 100px; height: 20px; margin: 2px; background: green; cursor: pointer; }
#filtration {
display: none;
width: 100px; height: 100px;
background: #000;
}
#solid {
display: none;
width: 100px; height: 100px;
background: #c0c0c0;
}
#chemistry {
display: none;
width: 100px; height: 100px;
background: red;
}
<ul id="nav">
<li onclick="showdiv('filtration');">Filtration</li>
<li onclick="showdiv('solid');">Solidification</li>
<li onclick="showdiv('chemistry');">Chemistry</li>
</ul>
<div id="filtration"> </div>
<div id="solid"> </div>
<div id="chemistry"> </div>
设置一个导航栏来显示/隐藏内容,上面的代码工作正常,但问题是我希望一个 div 在你最初进入页面时显示内容。上面的代码只有在所有 div 最初都被隐藏的情况下才有效。
您可以将一个 div 设置为 display:block,但是如果您单击另一个导航链接而不是显示的链接,则不会发生任何事情。你必须先点击设置为display:block的对应div的链接,然后才能继续点击其他链接——没用。
我如何修改它,使第一个内容 div (#filter) 最初设置为 display:block,然后用户可以继续单击 UL 中的任何链接并显示该内容?
谢谢!
【问题讨论】: