-
-
Notifications
You must be signed in to change notification settings - Fork 574
/
Copy pathscript.js
32 lines (29 loc) · 1.05 KB
/
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
32
const toggle = document.getElementById("toggle");
const open = document.getElementById("open");
const close = document.getElementById("close");
const modal = document.getElementById("modal");
function closeNavbar(e) {
if (
document.body.classList.contains("show-nav") &&
e.target !== toggle &&
!toggle.contains(e.target) &&
e.target !== navbar &&
!navbar.contains(e.target)
) {
document.body.classList.toggle("show-nav");
document.body.removeEventListener("click", closeNavbar);
} else if (!document.body.classList.contains("show-nav")) {
document.body.removeEventListener("click", closeNavbar);
}
}
// Menu Slider
toggle.addEventListener("click", () => {
document.body.classList.toggle("show-nav");
document.body.addEventListener("click", closeNavbar);
});
// Modal
open.addEventListener("click", () => modal.classList.add("show-modal"));
close.addEventListener("click", () => modal.classList.remove("show-modal"));
window.addEventListener("click", (e) =>
e.target == modal ? modal.classList.remove("show-modal") : false
);