У меня есть часть кода. Этот код при нажатии кнопки открывает меню. Когда я снова нажимаю кнопку, меню скрыто (я удаляю. класс, класс show имеет display:block
правило, поэтому я переключаю видимость этого элемента, нажимая на кнопку). В следующей строке у меня есть событие, которое проверяет, какой элемент нажат. Если я «нажимаю« вне »меню, меню становится скрытым, beacuse i remove .show
.Логика для отображения элементов и скрытия их на теле нажмите
А теперь у меня проблема, похоже, что первая часть кода больше не работает (button.on ('click')) - я имею в виду, работа, но вторая часть кода также выполняется, и эта логика сейчас сломана
у вас есть какие-либо идеи для обходного Благодарности
var menu = $('.main-menu');
var button = $('.burger');
button.on('click',function() {
if (menu.hasClass('show')) {
menu.removeClass('show');
$(this).removeClass('opened');
} else {
menu.addClass('show');
$(this).addClass('opened');
}
});
$(document).bind("mouseup touchend", function(e){
var container = menu;
if (!container.is(e.target)
&& container.has(e.target).length === 0) {
container.removeClass('show');
button.removeClass('opened');
}
});
Проверьте эти ответы (http://stackoverflow.com/a/23685834/6812815)(http://stackoverflow.com/a/23685834/6812815) и (http://stackoverflow.com/a/13145711/ +6812815) (http://stackoverflow.com/a/13145711/6812815). Может быть, это может вам помочь. – vadber