D3JS Javascript和嵌套函数

时间:2016-06-30 06:04:32

标签: javascript d3.js

在下面的链接中,我试图找出代码的含义。 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);
}();

2 个答案:

答案 0 :(得分:1)

您可以从此处阅读有关补间的更多信息,以便清楚地了解每个所选元素的返回函数。

Tween function API

答案 1 :(得分:0)

根据以下链接,变量t是介于0和1之间的正常时间。

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

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