31
Nachdem ich alle const-Namen an meine Namen angepasst habe, funktionieren jetzt alle close-Gründe:
- links wird menueLinks (close-Grund Klick auf Link),
- hamburgerBtn wird headnavButton, navMenu wird headnavmenue (close-Grund body-Klick)
- hamburgerBtn wird headnavButton, navMenu wird headnavmenue und show wird menue-zeigen in der neuen Funktion, wobei letzteres keine const, sondern eine Klasse ist.
Aufgefallen ist mir, dass der close-Grund "Klick auf Link" als Einziger kein "e" in der runden Klammer hat, also kein (e), sondern nur (). Ist das egal, oder so beabsichtigt? Ich würde am liebsten "sprechend" bei allen dreien event reinschreiben.
Ich fasse mal das Wichtigste für mich zusammen, wenn etwas falsch ist, bitte kurz Bescheid geben:
1. Ich habe jetzt fünf Konstanten, insges. vier Funktionen und drei Mal die "Methode" event listener für die drei Close-Gründe. Die drei Close-Gründe rufen dann wiederum die Funktionen auf.
2. Die erste und wichtigste Funktion "toggleButton" toggled das aria-expanded true/false sowie das Ein/Ausblenden des Menüs.
3. Die beiden Funktionen closeDropdownMenu und setAriaExpandedFalse sowie die beiden leeren array-Konstanten dienen nur den bei mir noch nicht vorhandenen Untermenüs.
Sie sind faktisch noch gar nicht aktiv, ein Fehler wird aber trotzdem von der FF-Konsole registriert.
4. Die vierte, zuletzt ergänzte Funktion "closeMenuIfMobile" schließt das Menü mobile. Alle drei closing-Gründe greifen auf diese Funktion zu.
5. Alle drei closing-Gründe rufen "closeMenuIfMobile" auf, aber auch die beiden Untermenü-Funktionen closeDropdownMenu und setAriaExpandedFalse. Die beiden letzteren werden aber faktisch erst aktiv, wenn es Untermenüs gibt und die beiden leeren array-Konstanten mit realen Untermenü-Selektoren versehen werden.
6. Der HTML-Code aus dem Eröffnungspost kann trotz allem JS so bleiben.
Gleiches gilt für das CSS dort, also
- Button ausgeblendet desktop-first
- Button eingeblendet und ul default ausgeblendet im MQ mobile
Geändert hat sich im CSS seit unserem JS nur das Ergänzen der show bzw. "menue-zeigen"-Klasse:
Stimmt das soweit alles?
Danke für deine Geduld mit mir.
- links wird menueLinks (close-Grund Klick auf Link),
- hamburgerBtn wird headnavButton, navMenu wird headnavmenue (close-Grund body-Klick)
- hamburgerBtn wird headnavButton, navMenu wird headnavmenue und show wird menue-zeigen in der neuen Funktion, wobei letzteres keine const, sondern eine Klasse ist.
Aufgefallen ist mir, dass der close-Grund "Klick auf Link" als Einziger kein "e" in der runden Klammer hat, also kein (e), sondern nur (). Ist das egal, oder so beabsichtigt? Ich würde am liebsten "sprechend" bei allen dreien event reinschreiben.
Ich fasse mal das Wichtigste für mich zusammen, wenn etwas falsch ist, bitte kurz Bescheid geben:
1. Ich habe jetzt fünf Konstanten, insges. vier Funktionen und drei Mal die "Methode" event listener für die drei Close-Gründe. Die drei Close-Gründe rufen dann wiederum die Funktionen auf.
2. Die erste und wichtigste Funktion "toggleButton" toggled das aria-expanded true/false sowie das Ein/Ausblenden des Menüs.
3. Die beiden Funktionen closeDropdownMenu und setAriaExpandedFalse sowie die beiden leeren array-Konstanten dienen nur den bei mir noch nicht vorhandenen Untermenüs.
Sie sind faktisch noch gar nicht aktiv, ein Fehler wird aber trotzdem von der FF-Konsole registriert.
4. Die vierte, zuletzt ergänzte Funktion "closeMenuIfMobile" schließt das Menü mobile. Alle drei closing-Gründe greifen auf diese Funktion zu.
5. Alle drei closing-Gründe rufen "closeMenuIfMobile" auf, aber auch die beiden Untermenü-Funktionen closeDropdownMenu und setAriaExpandedFalse. Die beiden letzteren werden aber faktisch erst aktiv, wenn es Untermenüs gibt und die beiden leeren array-Konstanten mit realen Untermenü-Selektoren versehen werden.
6. Der HTML-Code aus dem Eröffnungspost kann trotz allem JS so bleiben.
Gleiches gilt für das CSS dort, also
- Button ausgeblendet desktop-first
- Button eingeblendet und ul default ausgeblendet im MQ mobile
Geändert hat sich im CSS seit unserem JS nur das Ergänzen der show bzw. "menue-zeigen"-Klasse:
ul.headnav-haupt-ul.menue-zeigen {
display: block;
}
Stimmt das soweit alles?
Danke für deine Geduld mit mir.