Nav - Закрыть при щелчке или прокрутке

У меня есть навигация, которая выглядит как

.navigation-container
  %section.navigation
    .container
      %nav
       %a.item .toggle
       %a.item
       %a.item

В настоящее время я использую Jquery для переключения его открытия / закрытия.

  $('.toggle').click(function toggleMobileNav(e) {
    e.preventDefault();
    $(this).parents('.navigation').toggleClass('is-showing');
  });

Я добавил, изменил его с переключателя на.addClass и добавил.removeClass на $('. Navigation .item'), но когда он закрывает навигацию, я должен дважды щелкнуть по переключателю, чтобы открыть его снова.

Я также попытался удалить.toggleClass (поскольку он устарел?), Выполнив что-то вроде

  $('.toggle').click(function () {
    if ($('.navigation').hasClass('is-showing')) {
      $('.navigation').removeClass('is-showing');
      $('.navigation .item:not(:first)').removeClass('is-showing');
    } else {
      $('.navigation').addClass('is-showing');
    }
  });

Но мои навыки JS не велики, и это тоже не сработало.

Моя вторая проблема заключается в том, что мне нужно, чтобы навигация закрывалась либо при прокрутке, либо просто касанием в любом месте за пределами навигации. Я предполагаю, что второй вариант намного проще.

0 ответов

Другие вопросы по тегам