2012-03-27 2 views
3

Я использую библиотеку javascript, называемую d3, для выполнения некоторых анимаций на объекте. В конце каждой анимации я хочу вызвать функцию, которая передает данные из объекта, который называется анимацией, но он не работает. Как это сделать? Вот мой код: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

ли я решить вашу проблему? –

+0

Да! Большое спасибо за Ваш ответ. – mheavers

ответ

2

В function(i){ console.log(i); } Вы называете параметр i, но на самом деле это то, что будет обычно называться d!

Попробуйте заменить его с function(dOrWhatever){ console.log(i); } (это должно получить i переменную из function arcTween(d,i))

Смежные вопросы