I have a simple menu/submenu with jquery click() function and toggle().
My problem is, toggle() is working fine, but when for e.g. #submenu1 is open, and I click on “Menu 2”, #submenu1 remains visible of course, and both submenus overlap.
So I need a hide() for the submenus, but I don’t get it work! I tried not(), siblings() with no success. Any help is appreciated! Thanks in advance.
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;
}
Try: http://jsfiddle.net/D9pq8/