2

这个小提琴显示了我面临的错误。这真的是一个错误还是我做错了什么?

在小提琴中,将两个圆圈悬停,白色的动画正确,黑色的消失,无限循环开始在控制台中引发错误。

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
});
4

1 回答 1

3

我认为它是你发现的一个错误,在源代码中它看起来有一段时间它在查看'easing.dur'而不是'attr.dur',你可以通过在你的对象中设置它来证明这一点......

animateCircleIn.easing.dur = 400;
animateCircleOut.easing.dur = 400;

它会起作用。

在它的工作中突出显示在这里。所以我认为你将不得不像上面那样做一个奇怪的解决方法,或者更改 snap.svg.js 源以匹配。(我看看能不能更新到github)

我认为在 snap.svg.js 中,ms = easing.dur; 应该是 ms = attrs.dur; 除非我错过了它的设置方式。

(git pull request 已完成,我认为这在 0.4.1 中已修复)

于 2014-02-06T10:21:26.610 回答