homegrade_theme_production/js/app.js
2023-05-10 11:42:44 +02:00

45 lines
1.6 KiB
JavaScript

(() => {
// resources/js/header.js
function menuInit() {
let main_navigation = document.querySelector("#primary-menu");
const header = document.querySelector("#primary-header");
const primary_menu = header.querySelector("#primary-menu");
const burgerMenuToggle = header.querySelector("#burger-menu-toggle");
const submenuToggles = primary_menu.querySelectorAll(".menu-item-submenu-toggle");
burgerMenuToggle.addEventListener("click", function(e) {
e.preventDefault();
header.classList.toggle("nav-open");
burgerMenuToggle.toggleAttribute("aria-expanded");
gsap.from(primary_menu, {
opacity: 20,
y: "-100vh",
duration: 0.5,
ease: Power4.easeOut
});
});
document.addEventListener("focusin", (e) => {
const header2 = document.querySelector("#primary-header");
console.log(header2.contains(document.activeElement));
if (header2.classList.contains("nav-open") && !header2.contains(document.activeElement)) {
header2.classList.remove("nav-open");
burgerMenuToggle.setAttribute("aria-expanded", false);
burgerMenuToggle.focus();
}
}, true);
submenuToggles.forEach((button) => {
button.addEventListener("click", function(e) {
let isExpanded = button.getAttribute("aria-expanded") === "true";
button.setAttribute("aria-expanded", !isExpanded);
button.parentElement.querySelector(".sub-menu").classList.toggle("sub-menu-open");
});
});
}
// resources/js/app.js
console.log("menuInit");
console.log("menuIniteeeee");
window.addEventListener("load", function() {
menuInit();
});
})();