3

我是 JS 的新手,但我正在尝试使用 snap.svg。我正在尝试为使用 snap 创建的圆圈设置动画,但我似乎一次只能做一件事。现在,当“鼠标悬停”时,圆圈会改变颜色,但我希望它“跳动”[当用户在页面上时来回改变颜色。关于如何做到这一点的任何想法?

4

1 回答 1

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);
于 2013-11-12T12:17:03.610 回答