[erledigt] Script Hamburger zu X Button
Verfasst: Dienstag 29. Dezember 2020, 09:03
Servus
Mein Ziel ist, daß beim Klick auf das Hamburgersymbol das Symbol zu einem X wird.
Das klappt auch soweit.
Das Problem ist, daß das X nur zum Hamburgersymbol wird, wenn ich das X direkt anklicke.
Wenn ich im Menü irgendwas auswähle, bleibt das X.
Wenn das Menü offen ist, soll der Hamburger ein X sein, wenn es geschlossen ist, ein Hamburger.
Es ist blöd zum Erklären. Einfach auf meiner HP im Menü was auswählen, dann wißt ihr, was ich meine.
Mein Script sieht so aus:
main.css
Grundgerüst - footer
Danke schonmal
Mein Ziel ist, daß beim Klick auf das Hamburgersymbol das Symbol zu einem X wird.
Das klappt auch soweit.
Das Problem ist, daß das X nur zum Hamburgersymbol wird, wenn ich das X direkt anklicke.
Wenn ich im Menü irgendwas auswähle, bleibt das X.
Wenn das Menü offen ist, soll der Hamburger ein X sein, wenn es geschlossen ist, ein Hamburger.
Es ist blöd zum Erklären. Einfach auf meiner HP im Menü was auswählen, dann wißt ihr, was ich meine.
Mein Script sieht so aus:
Code: Alles auswählen
<script>
var hamburger = document.querySelector(".hamburg");
hamburger.onclick = function () { this.classList.toggle ("checked") }
</script>
Code: Alles auswählen
.hamburg { position:relative ; display:inline-block ; cursor:pointer ; bottom:25px ; width:50px ; height:50px ; background:#1C1C1C ; border-radius:50% ; border:2px solid #FFF }
.hamburg.checked .line:nth-child(1) { transform:translateY(8px) rotate(-45deg) }
.hamburg.checked .line:nth-child(2) { opacity:0 }
.hamburg.checked .line:nth-child(3) { transform:translateY(-8px) rotate(45deg) }
.line { position:absolute ; left:8px ; width:30px ; height:4px; background:#FFF ; border-radius:2px ; transition:0.5s ; transform-origin:center }
.line:nth-child(1) { top:13px }
.line:nth-child(2) { top:21px }
.line:nth-child(3) { top:29px }
.line span { display:none }
Code: Alles auswählen
<a class="hamburg" href="#menu">
<p class="line"><span>.</span></p>
<p class="line"><span>.</span></p>
<p class="line"><span>.</span></p>
</a>