nouveau-theatre-de-besancon/assets/js/functions.js
2024-09-20 10:14:43 +02:00

50 lines
1.3 KiB
JavaScript

let handleClick;
function expandNav(nodes) {
nodes.expandedNav.style = "transition: top 0.6s var(--curve-quick-slow);";
nodes.expandedNav
.querySelectorAll("[tabindex]:not(.expanded-nav__logo-link)")
.forEach((element) => {
console.log();
element.setAttribute("tabindex", "0");
});
setTimeout(() => {
nodes.expandedNav.classList.add("open");
nodes.burgerBtn.setAttribute("aria-expanded", true);
nodes.closeNavBtn.setAttribute("aria-expanded", true);
handleClick = () => closeNav(nodes);
nodes.main.addEventListener("click", handleClick);
nodes.footer.addEventListener("click", handleClick);
}, 10);
}
function closeNav(nodes) {
nodes.expandedNav.classList.remove("open");
nodes.burgerBtn.removeAttribute("aria-expanded");
nodes.closeNavBtn.removeAttribute("aria-expanded");
nodes.main.removeEventListener("click", handleClick);
setTimeout(() => {
nodes.expandedNav.removeAttribute("style");
}, 610);
}
function show(image) {
image.classList.add("show");
let svg;
try {
if ((svg = image.nextElementSibling)) {
svg.classList.add("hide");
image.parentNode.classList.add("hide");
}
} catch (error) {
console.log(error);
console.log(image);
}
}
export { expandNav, closeNav, show };