Javascript 帧上的D3.js转换回调

Javascript 帧上的D3.js转换回调,javascript,d3.js,transition,Javascript,D3.js,Transition,有人知道我如何用D3实现转换的每帧回调吗。下面是我目前正在做的工作的示例 link.transition() .duration(duration) .attr("d", diagonal) .each("end",function(e) { if(e.target.id == current) show_tooltip(e.target) }); 这将在动画结束时为每个元素调用匿名函数。我想为每一帧调用它。您可以注册一个

有人知道我如何用D3实现转换的每帧回调吗。下面是我目前正在做的工作的示例

link.transition()
    .duration(duration)
    .attr("d", diagonal)
    .each("end",function(e) {
        if(e.target.id == current)
            show_tooltip(e.target)
    });

这将在动画结束时为每个元素调用匿名函数。我想为每一帧调用它。

您可以注册一个自定义tween,该tween返回您希望在每个tick调用的函数

link.transition()
  .duration(duration)
  .attr("d", diagonal)
  .tween("side-effects", function() {
    return function() {
      console.log(d3.select(this), "tick");
    }
  });

根据D3文件,在

计时器队列将被重新调用

您应该能够使用它来实现您的转换