This Fiddle显示了我面临的错误。它真的是一个错误,还是我做错了什么?
在小提琴中,将两个圆圈悬停,白色圆圈正确动画,黑色圆圈消失,无限循环开始在控制台中抛出错误。
var animateCircleIn = Snap.animation({
r: 15
}, 400, mina.backout);
var animateCircleOut = Snap.animation({
r: 10
}, 400, mina.easein);
var paper = new Snap("svg");
// Bigger black circle that does not work, see the console
var c2 = paper.circle(60, 60, 30);
c2.hover(function () {
console.log(this.animate);
c2.animate(animateCircleIn); // Infinite loop of errors
});
答案 0 :(得分:3)
我认为它是你发现的一个错误,在源代码中它看起来像'easing.dur'而不是'attr.dur',你可以通过在你的对象中设置它来证明这一点......
animateCircleIn.easing.dur = 400;
animateCircleOut.easing.dur = 400;
它会起作用。
在此fiddle中突出显示有效。所以我认为你必须像上面那样做一个奇怪的解决方法,或者改变snap.svg.js来匹配。 (我会看看我是否可以获得github的更新)
我认为在snap.svg.js中,ms = easing.dur;应该是ms = attrs.dur;除非我错过了关于它如何设置的内容。
(git pull请求已完成,我认为这已在0.4.1中修复)