<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>
コンテンツを表示/非表示にするナビゲーション バーを設定すると、上記のコードは正常に動作しますが、問題は、最初にページにアクセスしたときに 1 つの div にコンテンツを表示することです。上記のコードは、すべての div が最初に非表示になっている場合にのみ機能します。
1 つの div を display:block に設定できますが、表示されているもの以外の別のナビゲーション リンクをクリックしても何も起こりません。最初に display:block に設定されている対応する div のリンクをクリックする必要があります。その後、他のリンクをクリックすることに進むことができますが、役に立ちません。
最初のコンテンツ div (#filtration) が最初に display:block に設定されるようにこれを変更するにはどうすればよいですか? その後、ユーザーは UL 内の任意のリンクをクリックしてそのコンテンツを表示できますか?
ありがとう!