@Future17

Как закрыть меню по ссылке в нём?

Доброго времени суток, господа. Ломаю голову, как скрывать меню по клику в нём (только разбираюсь в сайтостроении, буду очень признателен за ответы, спасибо)
Накидал код html
<input id="menu-toggle" type="checkbox" />
    <label class="menu-btn" for="menu-toggle">
      <span></span>
    </label>
    <ul class="menubox">
         <a class="menu-itemlanguage" href="ru.html">RU</a>
        <li><span class="menu-itemlogo"></span></li>
         <p class="menu-item1" href="#">Дата: 12.10.2021
                <br>Пропозицій: 14
            </p>
        <li><a class="menu-item" class="btn-block" href="#faq">Як це працює</a></li>
            <li><a class="menu-item" href="#info">Інформація</a></li>
            <li><a class="menu-item" class="btn-block" href="#formoffer">Отримати найкращу пропозицію</a></li>
    <label class="menu-btn" for="menu-toggle">
      <img src="img/strelka.png" class="strelka__back">
    </label>
        </ul>


JS:
<script>
$(function(){
  $('.menu-item').on('click', function(){
    $('.menubox').hide();
  });
});
    </script>


Проблема в том, что после клика на пункт меню оно закрывается, но по клику на иконку бургера открытия меню оно уже не открывается. Вопрос: как сделать его снова доступным для открытия?
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 2
sharomet
@sharomet
Front-End
Создайте функцию которая проверяет открыто ли меню, если открыто то закрыть и наоборот. Вызывайте её при нажатии на бургер и на пункт меню.
function openClose() {//функция которую нужно вызывать
if($('.menubox').is(':hidden') ) {
//открыть
} else {
//закрыть
}
}

И измените html, то что вы написали неверно
Ответ написан
Cresis
@Cresis
Ну во первых нужно пользоваться всеми преимуществами jQuery и проверять ничего не нужно.

Есть замечательная функция, fadetoogle, которая отлично нам способствует, уводя элемент в opacity 0 и добавляя display none. Плюс, что еще и регулировать скорость скрывания можно увеличивая значение 1.

(".menu-btn").click( function () {
$(".menubox").fadeToggle(1);
})


1 строчка, это фантастика
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы