Я пытаюсь собрать меню навигации, которое использует click
вместо hover
для отображения подменю (или выпадающих меню).
У меня настроено, но оно не совсем работает,Я не знаю, как закрыть открытое в данный момент подменю при нажатии на другое.
HTML:
<ul id="menu-primary-navigation" class="menu nav-main">
<li class="nav-about"><a href="#">About us</a>
<ul class="sub-menu" style="display: none; ">
<li><a href="/what-we-do/">What we do</a></li>
<li><a href="/why-we-do-it/">Why we do it</a></li>
</ul>
</li>
<li class="nav-weare"><a href="#">Who we are</a>
<ul class="sub-menu" style="display: none; ">
<li><a href="/who-we-are/ambassadors/">Ambassadors</a></li>
<li><a href="/who-we-are/trustees/">Trustees</a></li>
</ul>
</li>
<li class="nav-involved"><a href="#">Get involved</a>
<ul class="sub-menu" style="display: none; ">
<li><a href="/get-involved/coach/">Become a coach</a></li>
<li><a href="/get-involved/academy/">Become an academy</a></li>
</ul>
</li>
</ul>
В настоящее время для отображения и скрытия каждого подменю я использую этоjQuery:
$('#menu-primary-navigation li a').click(function(e) {
e.preventDefault();
$(this).next('.sub-menu').slideToggle('fast');
});
Но проблема в том, что они работают независимо друг от друга и пересекаются друг с другом (все могут быть открыты одновременно).
Мне нужен способ обнаружить щелчокдругая ссылка верхнего уровня, которая закрывает все открытые в данный момент подменю и отображает подменю для нажатой ссылки.