如何从对象中删除动画?

时间:2011-12-26 16:23:32

标签: raphael

如何从raphael中的对象中删除动画?

var animation  = Raphael.animation({opacity:.2}, 1000);
var circle = paper.circle(0, 0, 5).animate(animation.repeat(Infinity));

我想在对象上执行动画,直到某个时刻。问题是如何在特定时刻删除/停止动画?

2 个答案:

答案 0 :(得分:5)

好吧,我真的不知道为什么,但如果不将任何参数传递给stop方法,则小提琴会起作用。尽管拉斐尔的文档说的是,我找到了一个动画停留在this站点的例子(顺便说一句,这不是最美丽的站点,但他们有一个每个raphael方法的例子!)

在这里你有小提琴工作。 http://jsfiddle.net/fKxqS/2/

享受!

答案 1 :(得分:1)

如果你想在特定的游戏中时光倒流后停止动画......

setTimeout(circle.stop(animation), 500) //500 is milliseconds, so it's 0.5s

如果要在事件后停止动画,例如单击

circle.click(function(){
  circle.stop(animation)
})

编辑似乎Raphael不会停止,如果重复设置为无限,也许有人知道一个解决方法,这里是小提琴:http://jsfiddle.net/fKxqS/