Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m291:learningunits:lu04:aufgaben:b_accordion [2026/03/01 23:31] – gkoch | de:modul:m291:learningunits:lu04:aufgaben:b_accordion [2026/03/01 23:34] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 41: | Zeile 41: | ||
| <div class=" | <div class=" | ||
| Antwort 3... | Antwort 3... | ||
| + | </ | ||
| + | </ | ||
| + | | ||
| + | <div class=" | ||
| + | <button class=" | ||
| + | Frage 4 | ||
| + | </ | ||
| + | <div class=" | ||
| + | Antwort 4... | ||
| </ | </ | ||
| </ | </ | ||
| </ | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | ==== JavaScript ==== | ||
| - | <WRAP center round box 80%> | ||
| - | <code javascript> | ||
| - | const buttons = document.querySelectorAll(' | ||
| - | |||
| - | buttons.forEach(btn => { | ||
| - | btn.addEventListener(' | ||
| - | const panel = btn.nextElementSibling; | ||
| - | const istOffen = panel.classList.contains(' | ||
| - | |||
| - | // Alle Panels schliessen | ||
| - | buttons.forEach(andererBtn => { | ||
| - | // Code | ||
| - | }); | ||
| - | |||
| - | // Dieses Panel öffnen (nur wenn es vorher zu war) | ||
| - | if (!istOffen) { | ||
| - | // Code | ||
| - | } | ||
| - | }); | ||
| - | }); | ||
| </ | </ | ||
| </ | </ | ||
| Zeile 74: | Zeile 59: | ||
| ===== Ihre Aufgabe ===== | ===== Ihre Aufgabe ===== | ||
| - | Bauen Sie Ihr eigenes FAQ Accordion. Ziel für heute: HTML-Struktur, CSS und ein funktionierender Click-Handler. | + | Bauen Sie Ihr eigenes FAQ Accordion. Ziel für heute: HTML-Struktur und CSS. |
| **Schritt 1 – Neues Projekt anlegen** | **Schritt 1 – Neues Projekt anlegen** | ||
| Zeile 87: | Zeile 72: | ||
| **Schritt 2 – HTML-Struktur bauen** | **Schritt 2 – HTML-Struktur bauen** | ||
| - | Erstellen Sie mindestens 3 FAQ-Items mit der Struktur aus dem Abschnitt oben. Denken Sie an '' | + | Erstellen Sie die 4 FAQ-Items mit der Struktur aus dem Abschnitt oben. Denken Sie an '' |
| **Schritt 3 – CSS stylen** | **Schritt 3 – CSS stylen** | ||
| Zeile 93: | Zeile 78: | ||
| * Panel standardmässig mit '' | * Panel standardmässig mit '' | ||
| * Klasse '' | * Klasse '' | ||
| - | * Button gestalten: '' | + | * Button gestalten: '' |
| - | + | ||
| - | **Schritt 4 – JavaScript: Click-Handler** | + | |
| - | + | ||
| - | * Alle Buttons mit '' | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * Panel mit '' | + | |
| - | + | ||
| - | **Schritt 5 – aria-expanded setzen** | + | |
| - | Beim Klick den korrekten Wert von '' | ||
| <WRAP center round 80% important> | <WRAP center round 80% important> | ||