D3.js - Timer API

Timer API模块用于执行具有同步定时延迟的并发动画.它使用 requestAnimationFrame 进行动画制作.本章详细介绍了Timer API模块.

requestAnimationFrame

此方法告诉浏览器您希望执行动画并请求浏览器调用用于更新动画的指定函数.

配置计时器

我们可以使用以下脚本直接从d3js.org轻松加载计时器./p>

<script src = "https://d3js.org/d3-timer.v1.min.js"></script>
<script>
   var timer = d3.timer(callback);
</script>

计时器API方法

Timer API支持以下重要方法.所有这些都详细解释如下.

d3.now()

此方法返回当前时间.

d3.timer(callback [,delay [,time]])

此方法用于计划新计时器并调用计时器直到停止.您可以在MS中设置数字延迟,但它是可选的,否则默认为零.如果未指定时间,则将其视为d3.now().

timer.restart(callback [,delay [,time]])

使用指定的回调和可选的延迟和时间重新启动计时器.

timer.stop()

此方法停止计时器,防止后续回调.

d3.timeout(callback[, delay[, time]])

它用于在第一次回调时停止计时器.回调作为已用时间传递.

d3.interval(callback[, delay[, time]])

在特定时间调用延时间隔.如果未指定延迟,则需要计时器时间.

示例

创建网页"timer.html"并将以下脚本添加到其中.

<!DOCTYPE html>
<html>
   <head>
      <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
   </head>

   <body>
      <h3> Timer API </h3>
      <script>
         var timer = d3.timer(function(duration) {
            console.log(duration);
            if (duration > 150) timer.stop();
         }, 100);
      </script>
   </body>
</html>

我们会在屏幕上看到以下回复.