javascript / d3 - 将参数传递给函数

时间:2012-03-27 22:37:37

标签: javascript d3.js

我正在使用名为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
}

1 个答案:

答案 0 :(得分:2)

function(i){ console.log(i); }您正在调用参数i,但实际上它通常被称为d

尝试将其替换为function(dOrWhatever){ console.log(i); }(这应该从i获取function arcTween(d,i)变量)