-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
55 lines (45 loc) · 1.69 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var leftMenu = document.getElementById("left-menu");
var dimmer = document.getElementById("dimmer");
var leftMenuHamburger = document.getElementById("left-menu-hamburger");
var debugHamburger = document.getElementById("debug-hamburger");
var debugHamburgerTxt = document.getElementById("debug-hamburger-txt");
function openMenu() {
dimmer.classList.add("dimmer--open");
leftMenu.classList.add("left-menu--open");
}
function closeMenu() {
dimmer.classList.remove("dimmer--open");
leftMenu.classList.remove("left-menu--open");
}
// Detects a click on the hamburger icon, Method 1
// leftMenuHamburger.addEventListener("click", openMenu());
// Debug
debugHamburger.addEventListener("click", function() {
openMenu();
debugHamburgerTxt.textContent = "Clicked on the hamburger!";
});
// When menu is open
document.addEventListener("click", (evt) => {
let targetElement = evt.target; // Clicked element
do {
if (targetElement == debugHamburger) {
// Detects a click on the debug hamburger
debugHamburgerTxt.textContent = "Clicked on the debug";
openMenu();
//dimmer.classList.add("dimmer--open");
//leftMenu.classList.add("left-menu--open");
} else if (targetElement == leftMenuHamburger) {
// Detects a click on the hamburger icon, Method 2
debugHamburgerTxt.textContent = "Clicked on the hamburger";
openMenu()
} else if (targetElement == leftMenu) {
// Detects a click in the menu
document.getElementById("menuDebug").textContent = "Clicked in the menu";
return;
}
targetElement = targetElement.parentNode;
} while (targetElement);
//Detects a click outside of the menu
document.getElementById("menuDebug").textContent = "Clicked outside the menu";
closeMenu();
});