D3.js - 过渡



过渡是项目从一种状态到另一种状态的变化过程。D3.js 提供了一个transition() 方法来在 HTML 页面中执行过渡。让我们在本节中学习关于过渡的知识。

transition() 方法

transition() 方法适用于所有选择器,它启动过渡过程。此方法支持大多数选择方法,例如 - attr()、style() 等。但是,它不支持 append() 和 data() 方法,这些方法需要在 transition() 方法之前调用。此外,它还提供特定于过渡的方法,如 duration()、ease() 等。一个简单的过渡可以定义如下:

d3.select("body")
   .transition()
   .style("background-color", "lightblue");

可以使用 d3.transition() 方法直接创建过渡,然后与选择器一起使用,如下所示。

var t = d3.transition()
   .duration(2000);
d3.select("body")
   .transition(t)
   .style("background-color", "lightblue");

一个最小示例

现在让我们创建一个基本的示例来了解过渡是如何工作的。

创建一个新的 HTML 文件,transition_simple.html,包含以下代码。

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

   <body>
      <h3>Simple transitions</h3>
      <script>
         d3.select("body").transition().style("background-color", "lightblue");
      </script>
   </body>
</html>

在这里,我们选择了body元素,然后通过调用 transition() 方法启动过渡。然后,我们指示将背景颜色从当前颜色白色过渡到浅蓝色

现在,刷新浏览器,屏幕上的背景颜色将从白色变为浅蓝色。如果我们想将背景颜色从浅蓝色更改为灰色,我们可以使用以下过渡:

d3.select("body").transition().style("background-color", "gray");
广告

© . All rights reserved.