Этот код обрабатывает клик по элементам на сайте (меню первого уровня), в результате которого появляется новый блок (меню второго уровня, переход по ссылке остановлен return false, чтобы было видно меню второго уровня). Также, по клику вне этого всплывшего блока, он закрывается. Но дело в том, что в нём (этом появляющемся блоке) тоже есть ссылки(пункты меню второго уровня), и нужно, чтобы переход по ним работал. А второй клик по пунктам меню первого уровня тоже приводил к переходу по ссылке.
$(function() {
$(document).on('click', '.overlay', function(e) {
$('.header__bottom-hover-menu.active, .header__top, .header__bottom').removeClass('active');
$('.header__nav-item > a.active').removeClass('active');
$('.overlay').removeClass('active');
});
$(document).mouseup(function (e) {
if (window.innerWidth > 1150) {
var container = $(".header__bottom-hover-menu.active");
if (container.has(e.target).length === 0){
container.removeClass('active');
$('.overlay').removeClass('active');
}
}
});
$(document).on('click', '.header__nav-item', function(e) {
if (window.innerWidth > 1150) {
console.log("CLICK2");
$('.header__bottom-hover-menu.active, .header__top, .header__bottom').removeClass('active');
// $('.overlay').removeClass('active');
$('.header__nav-item > a.active').removeClass('active');
$('.header__hover-list-item.active').removeClass('active');
$('.header__hover-tab.active').removeClass('active');
$('.header__hover-list-item[data-tab="1"]').addClass('active');
$('.header__hover-tab[data-tab="1"]').addClass('active');
}
return false;
}, function() {
if (window.innerWidth > 1150) {
let overlay = $('.overlay');
$('.header__bottom-hover-menu.active, .header__top, .header__bottom').removeClass('active');
$('.header__nav-item > a.active').removeClass('active');
overlay.removeClass('active');
if ($(this).find('.header__bottom-hover-menu').length > 0) {
$(this).find('a.submenu').addClass('active');
$(this).find('.header__bottom-hover-menu').addClass('active');
$('.header__top, .header__bottom').addClass('active');
overlay.addClass('active');
}
}
return false;
});
});
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости