новичок здесь),
Я использую bootsnav для создания бокового меню с помощью кнопки переключения. Я хочу, чтобы он закрылся, если пользователь щелкнул в другом месте из меню, но я не могу заставить его работать. Я попробовал несколько решений, которые я нашел на форумах (их много, правда), но ничего. Я попытался сделать что-то вроде this с jQuery, используя toggleClass и removeClass, но лучшая попытка привела к тому, что меню не открылось, потому что класс переключения запускался и не запускался одновременно.Закрыть боковое меню ботинка на странице нажмите
Это код, который вызывает меню:
$("nav.navbar.bootsnav .attr-nav").each(function(){
$("li.side-menu > a", this).on("click", function(e){
e.preventDefault();
$("nav.navbar.bootsnav > .side").toggleClass("on");
$("body").toggleClass("on-side");
});
});
$(".side .close-side").on("click", function(e){
e.preventDefault();
$("nav.navbar.bootsnav > .side").removeClass("on");
$("body").removeClass("on-side");
});
Может кто-нибудь помочь, пожалуйста?
Ну, они оба активируются, потому что вы нажимаете на них обоих, нет? при быстром просмотре структуры bootsnav я вижу, что .side .close-side - это в основном оболочка для элементов привязки. Для вашего случая быстрое исправление для этого было бы определить переменную, это боковая панель открыта или закрыта, и проверьте ее перед удалением/переключением классов. –