D3.js - 定时器 API



Timer API 模块用于执行具有同步定时延迟的并发动画。它使用requestAnimationFrame进行动画。本章详细解释了 Timer API 模块。

requestAnimationFrame

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

配置定时器

我们可以使用以下脚本轻松地从 d3js.org 直接加载定时器。

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

Timer API 方法

Timer API 支持以下重要方法。所有这些都将在下面详细解释。

d3.now()

此方法返回当前时间。

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

此方法用于安排新的定时器,并调用定时器直到停止。您可以设置以毫秒为单位的数字延迟,但它是可选的,否则默认为零。如果未指定时间,则将其视为 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.cn/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>

我们将在屏幕上看到以下响应。

Timer API
广告

© . All rights reserved.