Welcome to mirror list, hosted at ThFree Co, Russian Federation.

hamburgerCross.html « partials « layouts - github.com/darshanbaral/ghazal.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 13fb7312a0de95c24854d17f460f7183e191e2c1 (plain)
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>