- Add #menu-overlay div (fixed, full screen, z-index below menu) - Overlay fades in/out via opacity+visibility transition (cursor: pointer) - Click on overlay closes the menu - Remove opacity: 0.1 hack on main/footer/etc. when menu-open Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
843 B
JavaScript
35 lines
843 B
JavaScript
export function headerToggle() {
|
||
const header = document.getElementById("site-header");
|
||
const buttonToggle = document.querySelector("#menu-toggle");
|
||
const overlay = document.getElementById("menu-overlay");
|
||
|
||
if (!header || !buttonToggle) return;
|
||
|
||
buttonToggle.addEventListener("click", () => {
|
||
document.body.classList.toggle("menu-open");
|
||
});
|
||
|
||
overlay?.addEventListener("click", () => {
|
||
document.body.classList.remove("menu-open");
|
||
});
|
||
}
|
||
|
||
|
||
// DELETE ?
|
||
export function headerScrollVisibility() {
|
||
const header = document.getElementById("site-header");
|
||
|
||
if (!header) return;
|
||
|
||
function checkScroll() {
|
||
if (window.scrollY >= 300) {
|
||
header.classList.add("is-visible");
|
||
} else {
|
||
header.classList.remove("is-visible");
|
||
}
|
||
}
|
||
|
||
window.addEventListener("scroll", checkScroll);
|
||
checkScroll();
|
||
}
|
||
|