Akordeon jQuery zwija rodzeństwo
Sam napisałem proste menu akordeonu z jquery dla następującej struktury HTML:
<ul class="menu">
<li><a href="#">menu1</a></li>
<li class="expanded">
<a href="#">menu2</a>
<ul class="menu">
<li><a href="#">menu 2.1</a></li>
<li><a href="#">menu 2.2</a></li>
<li><a href="#">menu 2.3</a></li>
</ul>
</li>
<li><a href="#">menu3</a></li>
<li class="expanded">
<a href="#">menu4</a>
<ul class="menu">
<li><a href="#">menu 4.1</a></li>
<li><a href="#">menu 4.2</a></li>
</ul>
</li>
<li class="expanded">
<a href="#">menu5</a>
<ul class="menu">
<li><a href="#">menu 5.1</a></li>
<li><a href="#">menu 5.2</a></li>
</ul>
</li>
</ul>
jquery:
$(function(){
$('li.expanded > ul').hide();
$('li.expanded > a').click(function(){
$(this).next().slideToggle();
});
});
Teraz, gdy klikam menu2, otwiera się zgodnie z oczekiwaniami, kiedy klikam następne menu4, życzę menu2, a reszta wszystkich otwartych menu automatycznie zamknie je lub zwinie. Zastanawiam się, jak to osiągnąć.