ÐÐ»ÐµÐ¼ÐµÐ½Ñ "живой ÑаймеÑ"
У Ð½Ð°Ñ Ñже еÑÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ <time-formatted>, показÑваÑÑий кÑаÑиво оÑÑоÑмаÑиÑованное вÑемÑ.
СоздайÑе ÑÐ»ÐµÐ¼ÐµÐ½Ñ <live-timer>, показÑваÑÑий ÑекÑÑее вÑемÑ:
- ÐнÑÑÑи он должен иÑполÑзоваÑÑ
<time-formatted>, не дÑблиÑоваÑÑ ÐµÐ³Ð¾ ÑÑнкÑионалÑноÑÑÑ. - Ðолжен ÑикаÑÑ (обновлÑÑÑÑÑ) каждÑÑ ÑекÑндÑ.
- Ðа каждом Ñике должно генеÑиÑоваÑÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкое ÑобÑÑие Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼
tick, ÑодеÑжаÑее ÑекÑÑÑÑ Ð´Ð°ÑÑ Ð²event.detail(ÑмоÑÑиÑе Ð³Ð»Ð°Ð²Ñ ÐенеÑаÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ ÑобÑÑий).
ÐÑполÑзование:
<live-timer id="elem"></live-timer>
<script>
elem.addEventListener('tick', event => console.log(event.detail));
</script>
Ðемо:
ÐожалÑйÑÑа, обÑаÑиÑе внимание:
- ÐÑ Ð¾ÑÑанавливаем ÑаймеÑ
setInterval, когда ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑдалÑеÑÑÑ Ð¸Ð· докÑменÑа. ÐÑо важно, инаÑе он пÑÐ¾Ð´Ð¾Ð»Ð¶Ð¸Ñ ÑикаÑÑ, даже еÑли болÑÑе не нÑжен. РбÑаÑÐ·ÐµÑ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑиÑÑиÑÑ Ð¿Ð°Ð¼ÑÑÑ Ð¾Ñ ÑÑого ÑлеменÑа. - ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ полÑÑиÑÑ Ð´Ð¾ÑÑÑп к ÑекÑÑей даÑе ÑеÑез ÑвойÑÑво
elem.date. ÐÑе меÑÐ¾Ð´Ñ Ð¸ ÑвойÑÑва клаÑÑа, еÑÑеÑÑвенно, ÑвлÑÑÑÑÑ Ð¼ÐµÑодами и ÑвойÑÑвами ÑлеменÑа.