.animate step TypeError:object不是函数

时间:2013-10-06 18:39:18

标签: javascript jquery svg

我正在使用raphael.js构建一些svg动画。我正在尝试建立一个饼图。我通过.animate()方法在一个步骤选项中调用一个函数。

我得到的错误:未捕获TypeError:对象不是函数 这一行是什么:pie_fill.attrs({'path':arc(1,2,3,4)});

它甚至不将arc()理解为步骤选项中的函数。但是我不知道为什么,请帮忙。

var R = Raphael("paper");
pie_fill = R.path(("M 150 77 L77 77 Z")).attr({'fill':'#009bca', 'stroke':'#1c1c1c', 'stroke-opacity':'1', 'stroke-width':'1'});

var pie = new Raphael($('#paper'), 300, 154);
    $('#paper').animate({
            'margin': '0'
        }, {
            'duration': 1500,
            step: function( now, fx ) {
                pie_fill.attr({'path': arc(1, 2, 3, 4)});
            }
        });

    arc =function(center, radius, startAngle, endAngle) {
        console.log('ran')
    };

1 个答案:

答案 0 :(得分:2)

arc在调用后定义。

如果你写function arc(...)而不是arc = function(...),它应该有用。