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