jquery click() 関数と toggle() を使用したシンプルなメニュー/サブメニューがあります。私の問題は、toggle() が正常に動作していることですが、たとえば #submenu1 が開いているときに "メニュー 2" をクリックすると、#submenu1 はもちろん表示されたままになり、両方のサブメニューが重なります。したがって、サブメニューには hide() が必要ですが、機能しません! not(), siblings() を試しましたが成功しませんでした。どんな助けでも大歓迎です!前もって感謝します。
jQuery:
$('#menu li').click(function() {
$('div', this).stop(true, true).animate({ 'height': 'toggle' }, 300);
});
HTML:
<ul id="menu">
<li><a href="#">Menu 1</a>
<div id="submenu1">
<ul>
<li>Submenu 1</li>
</ul>
</div>
</li>
<li><a href="#">Menu 2</a>
<div id="submenu2">
<ul>
<li>Submenu 2</li>
</ul>
</div>
</li>
</ul>
CSS:
#submenu1, #submenu2 {
z-index: 99;
position: absolute;
background: #6fb700;
display: none;
}