2016-01-14 36 views
0

這可能是一個很容易的問題,但我剛開始玩請求動畫框架,我需要一些指導。我在互聯網上發現的最安全(在瀏覽器兼容性方面)語法要求的動畫框架是這樣的代碼:JS cancelAnimationFrame語法

window.requestAnimFrame = (function() { 
     return window.requestAnimationFrame  || 
       window.webkitRequestAnimationFrame || 
       window.mozRequestAnimationFrame || 
       window.oRequestAnimationFrame  || 
       window.msRequestAnimationFrame  || 
       function(callback, element) { 
        window.setTimeout(callback, 1000/60); 
       }; 
    })(); 

,然後調用它像這樣:requestAnimFrame(protect);

的問題是如何建立取消動畫幀語法與上面的完全對齊。 (應該取消所有上述前綴啓動程序並在回退時設置超時)。

謝謝你的答案;)

---編輯---

我剛剛找到這篇文章的文章中提出>click me<

解決方案不僅包括廠商webkitmoz爲他們聲稱2013.03.06: No more [ms] or [o] prefixes neccessary. Removed.我現在不知道解決方案是否完整並且可以在今天使用。

回答

1

我喜歡caniuse.com這些東西。退房:

http://caniuse.com/#feat=requestanimationframe

您可以點擊顯示所有和看到所有的瀏覽器版本,什麼樣requestAnimationFrame他們支持(包括前綴)。

但我認爲這是非常安全的只是使用​​和cancelAnimationFrame。除非你真的真的需要支持IE9或Safari 6之類的瀏覽器,否則不需要填充它。

+0

我需要支持ie9和這樣的不幸 – Mevia

+0

在這種情況下,文章中的polyfill是你最好的選擇(https://gist.github.com/paulirish/1579671),因爲它也填充cancelAnimationFrame。請注意,你會在IE9中表現糟糕。 – kosman