1

对于同一个圆圈,我有两个动画,只是变大然后变小。这将重复直到计时器用完。这行得通。它们是递归定义的,有点超出我的范围。问题是让它在动画时改变速度。我删除了不相关的代码,包括计时器,并将界面简化为三个按钮:

1) 开始/停止

2) 加速

3) 减速

它适用于更改内部定义的函数,但不适用于外部。我不知道为什么。任何帮助将不胜感激。请注意我的评论,它解决了它。我对计算机科学原理的理解并不惊人。我尝试使用 Chrome 的检查器查看堆栈,但什么也看不到,也不知道我在做什么。

var IN_DURATION = 3000;   
var OUT_DURATION = 5000;

var anim_inhale = Raphael.animation({
    transform: "S " + 2.2 + " " + 2.2 + "  T +"+(-320*2.2)+" "+(-240*2.2),
    fill: "#0f0"
}, IN_DURATION , "linear", function () {

    breath_circle.animate(Raphael.animation({
        transform: "",
        fill: "#00f"
    }, OUT_DURATION , "linear", function () {

        breath_circle.animate(anim_inhale);

    }));

});
breath_circle.animate(anim_inhale);

我提供了一个有效的 JSFiddle http://jsfiddle.net/nastajus/RgWbL/2/

4

0 回答 0