Skip to content

Commit ce3ddee

Browse files
committed
refactor index.js with the method toggle
1 parent 889893b commit ce3ddee

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

index.js

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,35 @@ function reveal() {
1313
}
1414
});
1515
}
16-
window.addEventListener("scroll", reveal);
17-
function removeActive(navColumnarMenu, navColumnarMenuBackground) {
18-
navColumnarMenuBackground.style.visibility = "hidden";
19-
navColumnarMenuBackground.classList.remove("active");
20-
navColumnarMenu.classList.remove("active");
21-
document.getElementsByClassName("logo")[0].classList.remove("active");
22-
[...document.getElementsByClassName("oscured")].forEach((element) => {
23-
element.classList.remove("opacity-effect");
24-
});
25-
}
26-
function addActive(navColumnarMenu, navColumnarMenuBackground) {
27-
navColumnarMenuBackground.style.visibility = "visible";
28-
navColumnarMenuBackground.classList.add("active");
29-
navColumnarMenu.classList.add("active");
30-
document.getElementsByClassName("logo")[0].classList.add("active");
16+
function changeState(navColumnarMenu, navColumnarMenuBackground) {
17+
if (
18+
!navColumnarMenuBackground.style.visibility ||
19+
navColumnarMenuBackground.style.visibility === "hidden"
20+
) {
21+
navColumnarMenuBackground.style.visibility = "visible";
22+
} else {
23+
navColumnarMenuBackground.style.visibility = "hidden";
24+
}
25+
navColumnarMenuBackground.classList.toggle("active");
26+
navColumnarMenu.classList.toggle("active");
27+
document.getElementsByClassName("logo")[0].classList.toggle("active");
3128
[...document.getElementsByClassName("oscured")].forEach((element) => {
32-
element.classList.add("opacity-effect");
29+
element.classList.toggle("opacity-effect");
3330
});
3431
}
32+
window.addEventListener("scroll", reveal);
3533
document.addEventListener("DOMContentLoaded", function (event) {
3634
[...document.getElementsByTagName("a")].forEach(function (element) {
3735
element.addEventListener("click", () => {
3836
const navColumnarMenu = document.getElementById("nav-columnar-menu");
3937
const navColumnarMenuBackground = document.getElementById(
4038
"nav-columnar-menu-background"
4139
);
42-
if (navColumnarMenu.classList.contains("active")) {
43-
removeActive(navColumnarMenu, navColumnarMenuBackground);
44-
}
45-
if (element.id === "show-nav-columnar-menu") {
46-
addActive(navColumnarMenu, navColumnarMenuBackground);
40+
if (
41+
navColumnarMenu.classList.contains("active") ||
42+
element.id === "show-nav-columnar-menu"
43+
) {
44+
changeState(navColumnarMenu, navColumnarMenuBackground);
4745
}
4846
});
4947
});
@@ -55,7 +53,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
5553
"nav-columnar-menu-background"
5654
);
5755
if (ev.path[0].id == "nav-columnar-menu-background") {
58-
removeActive(navColumnarMenu, navColumnarMenuBackground);
56+
changeState(navColumnarMenu, navColumnarMenuBackground);
5957
}
6058
},
6159
false

0 commit comments

Comments
 (0)