过渡是一个项目从一个状态转换到另一个状态的过程. D3.js提供了一个 transition()方法来在HTML页面中执行转换.让我们在本章中了解转换.
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","grey");