# 19 - Todo List Aplikace ## 🎯 Co se naučíte V této lekci se naučíte vytvořit kompletní Todo List aplikaci s přidáváním, odebíráním a označováním úkolů. ## 📚 Témata lekce - **Todo List aplikace** - praktický projekt - **Dynamické přidávání položek** do seznamu - **Odstranění položek** z DOM - **Toggle stavu** - splněno/nesplněno - **Local Storage** - ukládání dat v prohlížeči (možná) - **Event delegation** - efektivní event handling - **Bootstrap styling** pro moderní UI - **Textarea** - víceřádkový vstup ## 📂 Soubory v projektu - `index.html` - HTML s formulářem a seznamem - `todo.js` - JavaScript pro funkcionalitu - `css/bootstrap.css` - Bootstrap CSS ## 💻 Ukázka z lekce ### HTML struktura: ```html ``` ### JavaScript - Přidání úkolu: ```javascript function additem() { const todoitem = document.getElementById("todoitem").value; if (todoitem === "") { alert("Zadej úkol!"); return; } const todoList = document.getElementById("todoList"); // Vytvoření
  • elementu const li = document.createElement("li"); li.className = "todolistitem"; li.innerHTML = ` ${todoitem} `; todoList.appendChild(li); // Vyčištění textarea document.getElementById("todoitem").value = ""; } // Odstranění úkolu function removeitem(button) { const li = button.parentElement; li.remove(); } // Toggle splněno/nesplněno function toggleitem(button) { const li = button.parentElement; li.classList.toggle("text-decoration-line-through"); li.classList.toggle("text-muted"); } ``` ## 🚀 Jak s lekcí pracovat 1. Otevřete `index.html` v prohlížeči 2. Napište úkol do textarey 3. Klikněte na "ZAPSAT" - úkol se přidá do seznamu 4. Vyzkoušejte tlačítko "Hotovo" - přeškrtne úkol 5. Klikněte na "Smazat" - odstraní úkol ze seznamu 6. Přidejte více úkolů a vyzkoušejte všechny funkce 7. Prozkoumejte `todo.js` - jak funguje logika ## 💡 Tip pro studenty ### parentElement: ```javascript function removeitem(button) { // button =