TransWikia.com

Скрыть мобильное меню при нажатии на пункт (WP)

Stack Overflow на русском Asked by Missclick on November 30, 2021

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

При нажатии на любой пункт, сайт пролистывается до нужного участка (заголовка), но меню при этом остается открытым.

Скажите, как сделать так, чтобы при нажатии на любой пункт меню, оно сворачивалось/закрывалось?

JS-код мобильного меню:

//mobile-menu
    var winWidth = $(window).width();

    if (winWidth < 1025) {
        $('#menu-opener').click(function() {
            $('body').addClass('menu-open');

            $('.btn-close-menu').click(function() {
                $('body').removeClass('menu-open');
            });
        });

        $('.overlay').click(function() {
            $('body').removeClass('menu-open');
        });

        $('.main-navigation').prepend('<div class="btn-close-menu"></div>');

        $('.main-navigation ul .menu-item-has-children').append('<div class="angle-down"></div>');

        $('.main-navigation ul li .angle-down').click(function() {
            $(this).prev().slideToggle();
            $(this).toggleClass('active');
        });
    }

    if (winWidth > 1024){
        $("#site-navigation ul li a").focus(function() {
            $(this).parents("li").addClass("focus");
        }).blur(function() {
            $(this).parents("li").removeClass("focus");
        });
    }

One Answer

Без html не совсем понятно (что такое .overlay?), может стоит повесить на событие клика по кнопкам меню удаление класса removeClass('menu-open').

Answered by fortavey on November 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP