Закрытие подменю при открытии другого

Iga

Гуру форума
Регистрация
12 Янв 2014
Сообщения
425
Реакции
83
На сайте Для просмотра ссылки Войди или Зарегистрируйся в мобильной версии хочется сделать так, что бы при открытии одного подменю, закрывалось другое.
Пробовал такую конструкцию - не работает.
Код:
jQuery(document).ready(function(){
  jQuery('.nav > div > ul > li > a > b').click(function(e){
    e.preventDefault();
    jQuery('.nav > div > ul > li').find('ul').slideUp();
    jQuery(this).next().slideToggle();
  });
});
Сайт на WP, меню WP mega menu. В тот раздел не пошел, так как логика подсказывает, что это чисто script.
Код менюхи из-за плагина очень громоздкий, не стану его сюда постить. Кто чувствует в себе силу исправить мою ошибку, гляньте, пожалуйста код на сайте.
 
что бы при открытии одного подменю, закрывалось другое.
HTML:
jQuery(document).ready(function($){
  $('#menu-top-menu > li').on('click',function(){
    $('.wp-megamenu-sub-menu').hide();
    $(this).find('.wp-megamenu-sub-menu').slideDown();
  });
});
 
туда ещё надо написать, чтобы клик по открытому пункту меню сворачивал его обратно.
то есть проверить, развернут ли пункт, по которому кликнули, если развернут (стиль стоит display:block) - свернуть,
если нет (display: none) - можно разворачивать через slideDown, как написал Absolute выше.
 
  • Нравится
Реакции: Iga
Код:
<script type="text/javascript">
$(document).ready(function () {
  $('.sub > a').click(function(){
     if ($(this).attr('class') != 'active'){
       $('.sub ul').slideUp();
       $(this).next().slideToggle();
     }
      return false;
  });
       $('.nav > ul > li > a').click(function(){
       $('.nav > ul > li > a, .sub a').removeClass('active');
       $(this).addClass('active');
    }),
       $('.nav ul li a').click(function(){
       $('.nav ul li a').removeClass('active');
       $(this).addClass('active');
    });
});
</script>

к li добавь класс sub <li class="sub">
 
  • Нравится
Реакции: Iga
Назад
Сверху