Есть меню:
<ul class="category-menu">
<li>Мужские носки
<ul style="display: block;">
<li><a href="">Зимние</a></li>
<li><a href="">Летние</a></li>
<li><a href="">Спортивные носки</a></li>
<li><a href="">Тапочки мужские</a></li>
</ul>
</li>
<li>Мужские носки
<ul style="display: block;">
<li><a href="">Зимние</a></li>
<li><a href="">Летние</a></li>
<li><a href="">Спортивные носки</a></li>
<li><a href="">Тапочки мужские</a></li>
</ul>
</li>
<li>Мужские носки
<ul style="display: block;">
<li><a href="">Зимние</a></li>
<li><a href="">Летние</a></li>
<li><a href="">Спортивные носки</a></li>
<li><a href="">Тапочки мужские</a></li>
</ul>
</li>
<li>Мужские носки
<ul style="display: none;">
<li><a href="">Зимние</a></li>
<li><a href="">Летние</a></li>
<li><a href="">Спортивные носки</a></li>
<li><a href="">Тапочки мужские</a></li>
</ul>
</li>
</ul>
При клике на ссылку первого уровня нужно выводить подменю для этой ссылки, реализовал это так:
var close = true;
$('.category-menu > li').on('click', function() {
if (close) {
$(this).find('ul').show('slow');
close = false;
} else if (!close){
$(this).find('ul').hide('slow');
close = true;
}
});
Но заметил небольшую проблему, если я открыл одну ссылку, и жму на вторую то ничего не происходит, для того чтобы другая ссылка открылась, нужно на нее нажать еще раз. Скорее всего проблема в том, что при клике происходит присваивание close. Может как-то можно решить эту проблему, либо как-то грамотнее написать код?