※ ChatGPTを利用し、要約された質問です(原文:JavaScriptで折りたたみメニュー)
JavaScriptで折りたたみメニューを作成する方法
このQ&Aのポイント
JavaScriptを利用して折りたたみメニューを作成する方法について解説します。
折りたたみメニューには2つの項目と下層メニューがあり、クリックすることで下層メニューの表示/非表示を切り替えることができます。
一方の項目をクリックした際には、他方の項目の下層メニューが閉じる仕様となっています。
現在、JavaScriptを利用して折りたたみメニューを作成しました。
2つの項目の下にそれぞれ下層メニューがあり、各項目をクリックするごとに下層メニューが開いたり閉じたりできる状態なのですが、
このどちらかの項目をクリックしたとき、その項目の下層メニューは表示されるが、もう一方の項目の下層メニューは閉じる。というようにするにはどうすればよいでしょうか?(両方の下層メニューが同時に開いている状態が無いように。)
よろしくお願いいたします。
【XHTML】
<ul>
<li><a href="javascript:exMenu('treeMenu1')">項目1</a>
<ul id="treeMenu1" style="display:none">
<li><a href="#">項目1-1</a></li>
<li><a href="#">項目1-2</a></li>
<li><a href="#">項目1-3</a></li>
</ul>
</li>
<li><a href="javascript:exMenu('treeMenu2')">項目2</a>
<ul id="treeMenu2" style="display:none">
<li><a href="#">項目2-1</a></li>
<li><a href="#">項目2-2</a></li>
<li><a href="#">項目2-3</a></li>
</ul>
</li>
</ul>
【JavaScript】
function exMenu(tName)
{
tMenu = document.getElementById(tName).style;
if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
}
お礼
回答ありがとうございます。 さっそく試してみたら、問題なく思い通りに動きました! JavaScriptについて、ほとんど知識が無かったので、大変たすかりました。 ありがとうございました。