2011-12-26 99 views
3

如何從raphael中的對象中移除動畫?如何從對象中移除動畫?

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

我想在對象上執行動畫直到某個時刻。問題是如何在特定時刻刪除/停止動畫?

回答

5

嗯,我真的不知道爲什麼,但小提琴的作品,如果不通過任何參數停止方法。儘管拉斐爾的文檔說了什麼,但我發現了一個動畫在this網站(不是最漂亮的網站,順便說一句,但它們有一個拉法爾方法的例子!)的實例。

在這裏,你有小提琴加工。 http://jsfiddle.net/fKxqS/2/

享受!

1

如果你想有一個特定的延時後停止動畫...

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

如果你想要一個事件後停止動畫,如點擊

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

編輯:似乎拉斐爾不停止,如果重複設置爲無限,也許有人知道解決方法,這裏是小提琴:http://jsfiddle.net/fKxqS/

+0

感謝@limoragni。你必須調用Element.stop()而不是Element.stop(動畫)。但是,無論如何謝謝你的回答:) – PompolutZ 2011-12-27 11:22:28

+0

它關於協作的一切! Saludos! – limoragni 2011-12-27 14:51:28