-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
31 lines (26 loc) · 905 Bytes
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
let navItems = document.querySelectorAll(".nav-item");
document.body.style.setProperty("--total-nav-items", navItems.length);
navItems.forEach((thisItem, index) => {
thisItem.addEventListener("click", () => {
document.body.style.setProperty("--active-index", index);
toogleActiveClass();
toogleScrollBar();
function toogleActiveClass() {
navItems.forEach((item) => {
item.classList.remove("active");
});
thisItem.classList.add("active");
}
function toogleScrollBar() {
let thisSection = document.querySelectorAll("#container > section")[index];
let navHeight = document.querySelector("nav").offsetHeight;
let minHeightSection = window.innerHeight - navHeight * 2;
if (thisSection.offsetHeight > minHeightSection) {
document.body.style.overflowY = "auto";
} else {
document.body.style.overflowY = "hidden";
window.scrollTo(0, 0);
}
}
});
});