D3.js:连续运行转换?

标签 d3.js transition

如何在 D3.js 中连续运行过渡?

例如,假设我想更改 body颜色从红色到蓝色,然后再变回,连续(我不这样做,那会很可怕,但还是继续吧)。

这是我将如何做一次:

d3.select("body").transition().duration(1000).style("background-color", "red");

我将如何连续进行?

我见过的最接近的例子使用 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(); });
      });
}

关于D3.js:连续运行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127805/

相关文章:

jquery - 创建过渡时显示加载消息

javascript - 如何使隐藏的元素更快地弹出(jquery/css)

javascript - 如何将两张图片合并为一张?

svg - D3 : Append duplicates of a selection

jquery - 需要从 css 转换的间隔

ios - 如何停止手势滑回到上一个 View Controller ?

swift - 转换回 gamescene.swift 导致错误 "' 试图添加一个已经有父节点的 SKNode”

javascript - Uncaught TypeError : d3. queue is not a function D3.js

css - D3 生成的 linearGradient 在 Firefox/IE 中不起作用

javascript - 人力车只在某些点上显示网格线