私は Web サイトを設計しており、すべてのメニュー タイトルの下にサブリンクを表示するように単純な JavaScript スクリプトを適用しています。
メニュー タイトルはリストに格納され、それぞれに個別のハイパーリンクが含まれており、次のクラスを持つ CSS ファイルを使用して表示されます。
.hidden {display: none;}
.unhidden {display: block;}
この JavaScript 関数に基づいて:
function unhide(liID) {
var item = document.getElementById(liID);
if (item) {
item.className=(item.className=='hidden')?'unhidden':'hidden';
}
}
HTML ファイルのサンプルを次に示します。
<a href="javascript:unhide('menu1');">First Menu</a>
<li id="menu1" class="hidden">
<ul class="subMenus">
<li>Sub menu 1 item 1</li>
<li>Sub menu 1 item 2</li>
<li>Sub menu 1 item 3</li>
<li>Sub menu 1 item 4</li>
</ul>
</li>
<a href="javascript:unhide('menu2');">Second Menu</a>
<li id="menu2" class="hidden">
<ul class="subMenus">
<li>Sub menu 2 item 1</li>
<li>Sub menu 2 item 2</li>
<li>Sub menu 2 item 3</li>
<li>Sub menu 2 item 4</li>
</ul>
</li>
コードは機能し、うまく機能します。しかし、コード化された方法では、メニューが開いたら、折りたたむにはもう一度クリックする必要があります。そうしないと、3 つまたは 4 つのメニューを開くと、リストが非常に長くなり、混雑してしまいます。
私の質問は....、スペースを節約するために新しいメニューを開くときに、以前に開いたメニューを閉じるためにjavascriptで必要なコードは何ですか?
ありがとう。