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.org/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");