如何设置绘制一系列线段的动画

时间:2016-11-24 06:55:52

标签: javascript d3.js

我想画一个点,1秒左右后我想画出下一点。这有点可能:

我已经尝试过:

NSArray *optionArray = [responseArray valueForKey:@"name"]; 

不幸的是,这不起作用。它只是立即绘制了整条线。

1 个答案:

答案 0 :(得分:5)

这不起作用,因为for循环将立即运行到最后,setTimeouts将同时调度,所有函数将同时触发。

而不是那样做,这样做:

var i = 1;
(function loop(){
    if(i++ > 200) return;
    setTimeout(function(){
        drawPoint(vis,i,i); 
        loop()
    }, 1000)
})();

<强>解释

此IIFE将首次与i = 1一起运行。然后,if增加i(执行i++)并检查它是否大于200.如果是,则函数loop返回。如果不是,则会安排setTimeout,再次调用drawnPoint和函数loop