2015-01-14 31 views
0

我想錯開爲我正在工作的d3片斷輸入(和過渡,但是以輸入開始)動畫。誠然,我沒有對這個D3很大的把握,我剛開始用它,但這裏是我想 -D3錯開的動畫

nodeEnter.append("text") 
    .transition() 
    .delay(100) 
    .each("start", function() { 
     d3.select(this) 
    .attr("dy", ".35em") 
    .text(function(d) { return d.name; }); 
    }); 

所以,預期的效果讓每個進入過渡的延遲前一個60ms。有點像我要循環並做一些類似delay = i * 60的事情。我將不勝感激任何指導。謝謝!

回答

5

D3的delay()接受像其他方法的功能:

nodeEnter.append("text") 
    .attr("dy", "0em")// <-- May or may not be needed 
    .transition() 
    .delay(function(d, i) { return i*60; })// <-- delay as a function of i 
    .attr("dy", ".35em") 
    .text(function(d) { return d.name; }); 
+2

媽的,打我給它。下面是一個顯示@ meetamit的延遲的例子:http://plnkr.co/edit/OWNmWfi4aVMUPNV1yvUO?p=preview – Mark

+0

對不起@Mark,這也發生在我之前...謝謝你添加的例子! – meetamit