我正在使用名为d3的javascript库,以便在对象上执行一些动画。在每个动画结束时,我想调用一个函数,该函数从调用动画的对象传递数据,但它不起作用。我该如何做到这一点?这是我的代码:
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 :(得分:2)
在function(i){ console.log(i); }
您正在调用参数i
,但实际上它通常被称为d
!
尝试将其替换为function(dOrWhatever){ console.log(i); }
(这应该从i
获取function arcTween(d,i)
变量)