如何在D3.js中连续进行转换?
例如,假设我想要将body颜色从红色变为蓝色并再次返回(我不这样做,那将是可怕的,但请继续使用它).
我就是这样做的:
d3.select("body").transition().duration(1000).style("background-color", "red");
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我见过的最接近的例子d3.timer,但我不确定是否有更好的方法.
您可以使用transition.each()和"结束"事件.代码看起来如下所示.
function myTrans() {
d3.select("body").transition().duration(1000).style("background-color", "red")
.each("end", function() {
d3.select(this).transition().duration(1000).style("background-color", "blue")
.each("end", function() { myTrans(); });
});
}
Run Code Online (Sandbox Code Playgroud)