返回课程

实时计时器元素

我们已经有了<time-formatted>元素来显示格式良好的时间。

创建<live-timer>元素来显示当前时间

  1. 它应该在内部使用<time-formatted>,而不是重复其功能。
  2. 每秒钟更新一次。
  3. 对于每次更新,应该生成一个名为tick的自定义事件,并将当前日期放在event.detail中(参见章节派发自定义事件)。

用法

<live-timer id="elem"></live-timer>

<script>
  elem.addEventListener('tick', event => console.log(event.detail));
</script>

演示

打开任务的沙盒。

请注意

  1. 当元素从文档中移除时,我们清除setInterval计时器。这很重要,否则它会继续计时,即使不再需要了。浏览器也无法从该元素及其引用的内存中清除。
  2. 我们可以通过elem.date属性访问当前日期。所有类方法和属性都是元素方法和属性。

在沙盒中打开解决方案。