zpět k lekci

Element živých hodin

Už máme element <formatovany-cas>, který zobrazuje hezky naformátovaný čas.

Vytvořte element <zive-hodiny>, který bude zobrazovat aktuální čas:

  1. Interně by měl používat <formatovany-cas> a neměl by duplikovat jeho funkcionalitu.
  2. Bude tikat (aktualizovat se) každou sekundu.
  3. Při každém tiknutí by měla být vygenerována vlastní událost jménem tik s aktuálním datem v událost.detail (viz kapitolu Vyvolávání vlastních událostí).

Použití:

<zive-hodiny id="elem"></zive-hodiny>

<script>
  elem.addEventListener('tik', událost => console.log(událost.detail));
</script>

Ukázka:

Otevřít pískoviště pro úlohu.

Prosíme všimněte si:

  1. Když je element odstraněn z dokumentu, smažeme časovač setInterval. To je důležité, jinak by tikal dál, i když by už nebyl zapotřebí. A prohlížeč by ho nemohl odstranit z paměti a vyčistit paměť, na kterou se odkazuje.
  2. K aktuálnímu datu můžeme přistupovat ve vlastnosti elem.datum. Všechny třídní metody a vlastnosti jsou samozřejmě metody a vlastnosti elementu.

Otevřít řešení na pískovišti.