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
56
|
<div
class="hamburger-cross"
style="position: fixed; top: 15px; z-index: 50; width: 50px; height: 50px;"
onclick="myFunction()"
>
<div class="hamburger" style="opacity: 1; position: absolute;">
{{ partial "icons/hamburger.html" . }}
</div>
<div class="cross" style="opacity: 0; position: absolute; top: 0;">
{{ partial "icons/cross.html" . }}
</div>
</div>
<script>
let currentX, currentY;
const showMenu = (menu, hamBurger, cross, main, footer) => {
hamBurger.style.opacity = "0";
cross.style.opacity = "1";
currentX = window.scrollX;
currentY = window.scrollY;
menu.classList.remove("collapsed");
menu.style.width = "100%";
main.style.display = "none";
footer ? (footer.style.display = "none") : undefined;
};
const hideMenu = (
menu,
hamBurger,
cross,
main,
footer,
currentX,
currentY
) => {
hamBurger.style.opacity = "1";
cross.style.opacity = "0";
menu.classList.add("collapsed");
menu.style.width = "0px";
main.style.display = "block";
footer ? (footer.style.display = "block") : undefined
window.scrollTo(currentX, currentY);
};
const myFunction = () => {
const menu = document.querySelector(".slide-menu");
const hamBurger = document.querySelector(".hamburger");
const cross = document.querySelector(".cross");
const main = document.body.querySelector("main");
const footer = document.body.querySelector("footer");
menu.classList.contains("collapsed")
? showMenu(menu, hamBurger, cross, main, footer)
: hideMenu(menu, hamBurger, cross, main, footer, currentX, currentY);
};
</script>
|