0
为什么Snap.svg仅对分组元素的某些属性进行动画处理?在这个Jsfiddle当元素被分组时,他们为不透明度和变形设置动画而不是半径。当将动画应用于单个元素时,所有属性都会生成动画。我不明白。为什么Snap.svg只动画组中的一些属性?
(function(){
var s = Snap("#svg");
var c1 = s.circle(10, 10, 10);
var c2 = s.circle(50, 20, 10);
var c3 = s.circle(50, 100, 10);
var points = s.group(c1,c2);
var states =
[
{
transform: 'r90,25,25',
r: 10,
opacity: 0.3
},
{
transform: 'r90,200,200',
r: 5,
opacity: 1
},
];
function animateGroup(el, i) {
points.animate(states[i], 1000, function() {
animateGroup(el, ++i in states ? i : 0);
})
}
function animateOne(el, i) {
c3.animate(states[i], 1000, function() {
animateOne(el, ++i in states ? i : 0);
})
}
animateGroup(points, 0);
animateOne(c3,0);
})();
那我该怎么办呢?循环所有组元素? – przemoo83
对不起,我刚更新了答案。如果您使用一套,与更高版本的捕捉,您可以将动画应用到我认为的集合。否则,你可以使用forEach(同样的事情发生在幕后,这只是一个更方便的例子)。 – Ian
刚刚添加了一个例子。 – Ian