在d3.js中转换后不执行.call(function)

时间:2015-04-06 06:29:28

标签: svg d3.js call transition

在下面的代码中,在路径和文本svg元素上进行转换后,不会执行call方法。你能解释一下原因吗?

元素的结构如下,将帮助您理解代码 -

<g> //each g tag is an arc component in a donut chart
    <path> //path which defines arc
    <text> //Label for the arc
</g>

以下代码正在进行旋转动画 -

var counters = {"i":endIndex};
for(counters.i=endIndex; counters.i>=startIndex;){
    var textPositionC = textPositionX;
    textPositionX = d3.select(arcArray[counters.i]).select("text").attr("transform");

    d3.select((d3.select(arcArray[counters.i]).select("path")
        .transition()
        .duration(301)
        .attrTween("d", tweenRotateRight)[0][0])
        .node
        .parentNode)
        .select("text")
        .attr("transform", textPositionC)
        .style("visibility", "visible")
        .call(function(counters){
            counters.i=counters.i-1;
            if(counters.i<startIndex)
            $('#rightButton').removeClass('disableRotate');
        });
}

0 个答案:

没有答案