Úloha 5 – Interaktivní kategorie produktů s přepínáním obsahu
Úloha
Zadání (kontext úlohy):
Na stránce jsou tři tlačítka – „Ovoce“, „Zelenina“ a „Nápoje“. Po kliknutí na jedno z nich se v seznamu zobrazí odpovídající skupina produktů. Po opětovném kliknutí na stejné tlačítko se seznam vymaže. Vše musí fungovat efektivně – bez zbytečných přístupů k DOM a bez přímého měnění stylů.
Cíl úlohy:
Procvičit efektivní manipulaci s DOM pomocí DocumentFragment, oddělení stylu od logiky (pomocí CSS tříd) a práci s funkcemi podle DRY principu.
Vstupní podmínky:
Student pracuje pouze s jedním HTML souborem.
Data jsou uložena přímo v JavaScriptu v podobě tří polí (ovoce, zelenina, nápoje).
Každé kliknutí přepíše obsah seznamu novou sadou položek, nebo ho vyprázdní, pokud se klikne znovu na stejnou kategorii.
Požadovaný výstup:
-
Na stránce bude:
-
nadpis „Seznam produktů“,
-
tři tlačítka: „Ovoce“, „Zelenina“, „Nápoje“,
-
prázdný
<ul id="seznam">.
-
-
Po kliknutí na tlačítko se seznam naplní položkami příslušné kategorie.
-
Kliknutí na stejné tlačítko podruhé seznam vyprázdní.
-
Vložené položky musí být vytvořeny pomocí
DocumentFragment. -
Aktivní tlačítko se vizuálně zvýrazní pomocí CSS třídy
.aktivni.
Doplňující pokyny:
-
Použij
classList.add()aremove()k přepínání zvýraznění tlačítek. -
Zabraň opakovanému vykreslování stejné kategorie.
-
Vyhni se přímému nastavování stylů pomocí
style, využij třídu.aktivni. -
Logiku rozděl do tří funkcí:
vytvorSeznam(pole),vymazSeznam(),zmenKategorii().