javascript - 几秒钟后停止 requestAnimationFrame

标签 javascript

我见过很多调用和停止 requestAnimationFrame 的用法,但我还没有看到任何关于在 x 秒后停止它的用法。我写了这段代码:

http://codepen.io/anon/pen/PbvrVZ

我的代码中有一个片段是这样的:

function drawloop() {
        if (focused) {
            requestAnimationFrame(drawloop);
        }

我只是不明白如何在比方说 4 秒后停止动画。我是 JavaScript 的新手。我应该使用超时还是间隔?

编辑:所以,我所做的是:

function drawloop() {
  var start = Date.now() // note this
    if (focused & Date.now() - start < 4000) {

        requestAnimationFrame(drawloop);
    }

但这仍然不起作用。我在这里做错了什么?

最佳答案

最简单的方法是在渲染过程开始时使用变量来存储。

如果超过4秒,不运行下一帧

您可能不需要其他功能来完成您的目的。

function animateFor4Second() {
    var start = Date.now() // note this
    function loop() {
        console.log('rendering')
        if (Date.now() - start < 4000) { //note this also
            requestAnimationFrame(loop);
        }
    }
    loop(); // fire the initial loop
}

animateFor4Second()

关于javascript - 几秒钟后停止 requestAnimationFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41330963/

相关文章:

javascript - 如何使用 jQuery/JavaScript 复制和插入表行

javascript - 验证单选按钮 onClick 函数

javascript - 无法向 Node 服务器发出发布请求

javascript - onclick换色器JS函数

javascript - Javascript 原型(prototype)中哪些属性存储在哪个对象中?

javascript - 如何从 JavaScript 数组生成 3x3 HTML 表

javascript - Backbone.js View 监听 jquery ui 事件

Javascript对象创建实践

javascript - 如何在不同的设备、网络下为移动网络应用程序编写可靠的单元测试?

javascript window.var_name 与窗口 ['var_name' ]