Snap.svg动画

时间:2013-11-08 01:12:58

标签: javascript snap.svg

我是JS的新手,但我正在尝试使用snap.svg。我试图用快照创建一个圆形动画,但我似乎无法一次发生多个事情。现在,圆圈在“被碾过”时会改变颜色,但我希望它能够“搏动”[当用户在页面上时来回改变颜色。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:10)

你必须使用animate函数的回调再次调用动画,例如:

小提琴: http://jsfiddle.net/LCxD7/11/

var paper = Snap('svg');
var circle = paper.circle(10,10,10);
var states = [{
    fill: '#bada55',
    cx: 10,
    cy: 10
}, {
    fill: '#55bada',
    cx: 100
}, {
    fill: '#ba55da',
    cy: 100
}, {
    fill: '#000000',
    cx: 10
}];

(function animateCircle(el, i) {
    el.animate(states[i], 1000, function() {
        animateCircle(el, ++i in states ? i : 0);
    })
})(circle, 0);