first website commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
const header = document.querySelector(".site-header");
|
||||
const navToggle = document.querySelector(".nav-toggle");
|
||||
const navLinks = document.querySelectorAll(".site-nav a");
|
||||
const reveals = document.querySelectorAll(".reveal");
|
||||
|
||||
if (navToggle && header) {
|
||||
navToggle.addEventListener("click", () => {
|
||||
const isOpen = header.classList.toggle("nav-open");
|
||||
navToggle.setAttribute("aria-expanded", String(isOpen));
|
||||
});
|
||||
}
|
||||
|
||||
navLinks.forEach((link) => {
|
||||
link.addEventListener("click", () => {
|
||||
header?.classList.remove("nav-open");
|
||||
navToggle?.setAttribute("aria-expanded", "false");
|
||||
});
|
||||
});
|
||||
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
entries.forEach((entry) => {
|
||||
if (!entry.isIntersecting) {
|
||||
return;
|
||||
}
|
||||
|
||||
entry.target.classList.add("is-visible");
|
||||
observer.unobserve(entry.target);
|
||||
});
|
||||
},
|
||||
{
|
||||
threshold: 0.18,
|
||||
},
|
||||
);
|
||||
|
||||
reveals.forEach((element) => observer.observe(element));
|
||||
Reference in New Issue
Block a user