//NAV-OPEN const menuButton = document.querySelector(".menu-btn"); const menu = document.querySelector(".nav-menu"); const navBg = document.querySelector(".nav-bg"); // Инициализация анимации gsap.set(navBg, { autoAlpha: 0, height: 0, display: "block" }); const toggleMenu = (isOpen) => { document.body.classList.toggle("no-scroll", isOpen); menu.classList.toggle("open", isOpen); gsap.to(navBg, { autoAlpha: isOpen ? 1 : 0, height: isOpen ? "4rem" : "0rem", duration: isOpen ? 0.15 : 0.2, ease: isOpen ? "power2.out" : "power2.in" }); }; // Обработчики кликов menuButton.addEventListener("click", () => { toggleMenu(!menu.classList.contains("open")); }); menu.addEventListener("click", (e) => { if (e.target === menu) { toggleMenu(false); } }); // Предотвращаем закрытие при кликах внутри .hover-menu-wrapper document.querySelectorAll('.hover-menu-wrapper, .hover-menu-wrapper *').forEach(element => { element.addEventListener('click', (e) => { e.stopPropagation(); }); }); // Закрываем меню при клике на любую ссылку, кроме тех, что внутри .hover-menu-wrapper document.addEventListener('click', (e) => { if (menu.classList.contains('open') && e.target.closest('a') && !e.target.closest('.hover-menu-wrapper')) { toggleMenu(false); } });