【问题标题】:JS cancelAnimationFrame syntaxJS cancelAnimationFrame 语法
【发布时间】:2016-04-19 11:25:13
【问题描述】:

这可能是一个非常简单的问题,但我刚开始使用请求动画帧,我需要一些指导。我在互联网上发现请求动画帧的最安全(就浏览器兼容性而言)语法是以下代码:

    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.我现在不知道解决方案是否完整并且可以在今天使用。

【问题讨论】:

    标签: javascript requestanimationframe cancelanimationframe


    【解决方案1】:

    我喜欢 caniuse.com 的这些东西。签出:

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

    您可以点击 Show All 并查看所有浏览器版本以及它们支持的 requestAnimationFrame 类型(包括前缀)。

    但我认为只使用requestAnimationFramecancelAnimationFrame 是非常安全的。除非你真的真的需要支持像 IE9 或 Safari 6 这样的浏览器,否则你不需要填充这个。

    【讨论】:

    • 不幸的是,我需要支持 ie9 等
    • 在这种情况下,文章中的 polyfill 是你最好的选择 (gist.github.com/paulirish/1579671),因为它也填充了 cancelAnimationFrame。请注意,您在 IE9 中的性能会很差。
    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 2015-07-29
    • 2015-01-04
    • 2017-11-05
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多