有没有人知道如何使用D3完成每帧回调的转换。这是我目前正在做的事情的例子。
link.transition()
.duration(duration)
.attr("d", diagonal)
.each("end",function(e) {
if(e.target.id == current)
show_tooltip(e.target)
});
这当前在动画结束时为每个元素调用匿名函数。我想把它称为每一帧。
答案 0 :(得分:3)
您可以注册一个自定义补间,该补间返回您想要在每个tick上调用的函数。
link.transition()
.duration(duration)
.attr("d", diagonal)
.tween("side-effects", function() {
return function() {
console.log(d3.select(this), "tick");
}
});
答案 1 :(得分:1)
根据https://github.com/mbostock/d3/wiki/Transitions#timers
的D3文档计时器队列将回调requestAnimationFrame
您应该可以使用它来实现转换。