D3JS Javascript和嵌套函数



在下面的链接中,我试图找出代码的含义。https://bl.ocks.org/mbostock/10343037

这是我不理解的特定代码,它看起来像嵌套函数使循环工作。我想知道变量t是什么,通过在控制台中检查它,它在0和1之间,但我找不到它来自哪里。我也不明白.each("end", loop);

的含义
!function loop() {
circle.transition()
      .ease("linear")
      .duration(5000)
      .tween("transform", function() {
        return function(t) {
          circle.attr("cx", x(t)).attr("cy", y(ease(t)));
          timeReference.attr("x1", x(t)).attr("x2", x(t)).attr("y2", y(ease(t)));
          easeReference.attr("x2", x(t)).attr("y1", y(ease(t))).attr("y2", y(ease(t)));
        };
      })
      .each("end", loop);
}();

你可以从这里阅读更多关于渐变的内容,以清楚地了解每个选定元素的返回函数。

渐变函数API

根据下面的链接,变量t是0到1之间的归一化时间。

https://bost.ocks.org/mike/transition/

关于最后一条语句.each("end", loop);,它创建了一个无限循环,因此动画每次都会重新启动。

最新更新