【发布时间】:2013-07-17 19:40:57
【问题描述】:
我正在尝试通过将动画与递归链接在一起来使用 d3 运行动画。我有一个函数 animate 像这样调用自己,直到所有动画都链接在一起
(function animate(transition) {
// code here
animate(transition.transition())
})(selection.transition());
可视化本身可以工作,但我试图跟踪该函数被调用的次数,以便可以与动画同步地在屏幕上显示它。但是,递归在第一个转换完成之前将转换链接在一起,所以我的计数器始终只是最后一个转换的编号。
这是a jsfiddle,它显示了我正在尝试做的事情。奇怪的是圆的半径设置正确,即在设置属性时它得到正确的计数,而在同一次调用 animate 时它是不正确的。我查看了旧的堆栈溢出问题,并且查看了 d3 文档,但我找不到在整个递归过程中跟踪计数的好方法。有没有人知道这种方法?
【问题讨论】:
标签: javascript animation recursion d3.js