2012-03-27 274 views
3

我正在使用稱爲d3的JavaScript庫來執行對象上的一些動畫。在每個動畫結束時,我想調用一個函數,該函數從調用該動畫的對象傳遞數據,但它不起作用。我該如何做到這一點?這裏是我的代碼:javascript/d3 - 將參數傳遞給函數

function selectArcs() { 
    d3.selectAll("g.arc > path") 
     .each(arcTween) 
} 


function arcTween(d,i){ 
    console.log(i); //registers as 0, then 1 

    d3.select(this) 
     .transition().duration(1000) 
     .attrTween("d", tweenArc({ init : d.value })) 
     .each("end",function(i){ console.log(i); }); //registers as 0, then 0 - should be 0, then 1 
} 
+0

我有沒有解決問題了嗎? – 2012-04-03 19:20:13

+0

是的!非常感謝您的回覆。 – mheavers 2012-04-04 20:37:54

回答

2

function(i){ console.log(i); }你調用參數i但它實際上就是將通常被稱爲d

嘗試用function(dOrWhatever){ console.log(i); }替換它(這應該從function arcTween(d,i)i變量)