Icon Flyout / slidern ähnlich wie bei meiner Navigation
bearbeitet von
Hallo einsiedler,
> Mein Testentwurf gibt es hier: Misanthrop bei Bplaced
Allerdings ohne den Jump-Out Esel. Deswegen bin ich nicht sicher, ob Du damit das zeigst, was Du zeigen möchtest.
Darüber hinaus hat das Beispiel JavaScript-Fehler und -Unnötigkeiten.
- stylesheet.textContent = cssRules - cssRules ist undefiniert
- Warum willst Du überhaupt on-the-fly Styles erzeugen, was spricht gegen eine .css Datei die Du vom Server holst?
- menu.style.display = isExpanded ... - menu ist undefiniert. Das sieht nach einem Relikt aus, denn im Stylesheet sieht man, dass Du das mittlerweile mit reinem CSS machst, so wie es sich auch gehört.
- den DOMContentLoaded-Handler kannst Du Dir sparen, wenn Du dem Script-Element das defer-Attribut gibst. defer-Scripte werden unmittelbar vor Auslösen des DOMContentLoaded Events ausgeführt.
~~~html
<script defer>
// JS, das erst läuft, wenn das DOM fertig erstellt ist.
</script>
~~~
Zu deinem eigentlichen Problem: Ich denke mir, die Funktion flyoutExtension sollte einen Parameter bekommen: toggleID. Den verwendest Du in der Funktion zur Identifikation des Toggles.
~~~js
function flyoutExtension(toggleID) {
const toggle = document.querySelector("#" + toggleID);
...Rest unverändert, bis auf die beiden isExpanded-Zeilen, die können weg
}
flyoutExtension("toggle");
flyoutExtension("titeltoggle");
~~~
Dein aktuelles id="toggle" Element könntest Du auch auf id="menutoggle" umbenennen und diese ID an den ersten Aufruf von flyoutExtension übergeben.
Das Toggle-Element für den Titel bekommt id="titeltoggle". Damit hast Du Javascript-seitig schonmal die beiden getrennt.
_Rolf_
--
sumpsi - posui - obstruxi
Icon Flyout / slidern ähnlich wie bei meiner Navigation
bearbeitet von
Hallo einsiedler,
> Mein Testentwurf gibt es hier: Misanthrop bei Bplaced
Allerdings ohne den Jump-Out Esel. Deswegen bin ich nicht sicher, ob Du damit das zeigst, was Du zeigen möchtest.
Darüber hinaus hat das Beispiel JavaScript-Fehler und -Unnötigkeiten.
- stylesheet.textContent = cssRules - cssRules ist undefiniert
- Warum willst Du überhaupt on-the-fly Styles erzeugen, was spricht gegen eine .css Datei die Du vom Server holst?
- menu.style.display = isExpanded ... - menu ist undefiniert. Das sieht nach einem Relikt aus, denn im Stylesheet sieht man, dass Du das mittlerweile mit reinem CSS machst, so wie es sich auch gehört.
- den DOMContentLoaded-Handler kannst Du Dir sparen, wenn Du dem Script-Element das defer-Attribut gibst. defer-Scripte werden unmittelbar vor Auslösen des DOMContentLoaded Events ausgeführt.
~~~html
<script defer>
// JS, das erst läuft, wenn das DOM fertig erstellt ist.
</script>
~~~
_Rolf_
--
sumpsi - posui - obstruxi
Icon Flyout / slidern ähnlich wie bei meiner Navigation
bearbeitet von
Hallo einsiedler,
> Mein Testentwurf gibt es hier: Misanthrop bei Bplaced
Allerdings ohne den Jump-Out Esel. Deswegen bin ich nicht sicher, ob Du damit das zeigst, was Du zeigen möchtest.
_Rolf_
--
sumpsi - posui - obstruxi