几秒钟后停止 requestAnimationFrame

2024-01-12

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

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

我的代码片段如下:

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

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

Edit:所以,我所做的是:

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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

几秒钟后停止 requestAnimationFrame 的相关文章

随机推荐

  • Scala 随机字符串

    希望你做得好 我刚刚开始 scala 基本编程 我想用 foreach 或其他你认为最好的方法生成一些字符串变量 我该如何使用scala util Random生成此结果 Var 1A String random between A to
  • Powershell 哈希表到 HTML

    我正在尝试编写一个非常简单的 Powershell 脚本 用于检查某个位置中的文件 然后确定是否有超过 90 天的文件 很简单 但如果我可以使用 PS 的 send mailmessage cmdlet 来使用我创建的哈希表并接受格式化为
  • 从顶部删除项目时如何保留 AngularJS 中 ng-repeat 的滚动位置

    我尝试从解决方案开始工作 如何在 AngularJS 中保留 ng repeat 的滚动位置 https stackoverflow com questions 23736647 how to retain scroll position
  • SVN签出忽略文件夹

    我可以忽略 svn checkout 上的文件夹吗 我需要在构建服务器上结帐时忽略 DOCs 文件夹 edit 忽略外部因素不是一个选项 我有一些我需要的外部设备 您不能在签出时直接忽略文件夹 但可以在 svn 1 5 中使用稀疏签出 例如
  • 当我们在输入 html 标签中使用 name="Keys" 时?

    当我们在输入 html 标签中使用 name Keys 时 我知道 name 属性 但是当我们使用时keys name 属性指定输入元素的名称 name 属性用于在提交到服务器后识别表单数据 或者在客户端使用 JavaScript 引用表单
  • 如何检查PHP中的特殊字符[重复]

    这个问题在这里已经有答案了 可能的重复 preg match php特殊字符 https stackoverflow com questions 3937569 preg match php special characters 大家好 我
  • Pyinstaller 加载启动画面

    Pyinstaller 最近添加了一个启动画面选项 耶 但启动画面在 exe 运行的整个过程中保持打开状态 我需要它 因为我的文件打开速度非常慢 我想警告用户不要关闭窗口 有没有办法让 gui 打开时关闭启动屏幕 来自 pyinstalle
  • 如何使用 Retrofit 从 Android 发送 FCM 通知?

    我要寄fcm notification从 Android 设备到另一台设备 使用retrofit 我尝试这个但是 public interface ApiInterface Headers Authorization key AAAA4Ub
  • 如何根据扩展值搜索资源?

    我有一组以下形式的 fhir 资源
  • DOS下用什么来制作图形?

    哪些库用于在 DOS 控制台 上制作 2D 3D 图形和图形用户界面 我指的是 德军总部 3D 暗影武士 等游戏中使用的糟糕图形 硬件加速的想法直到 Windows 时代才真正流行起来 因此 大多数显卡运行的模式都是将大型内存阵列映射到特定
  • Flask - AttributeError:“模块”对象没有属性“项目”

    我正在使用 Flask restful 并具有以下 API 类 views py from datetime import date from flask import jsonify from flask ext restful impo
  • JqG​​rid多选列表在IE7/8编辑模式下总是选择第一个选项

    进入编辑模式时 网格 v4 3 1 在下拉列表中选择正确的值 然而 IE 7和IE 8似乎有一个问题 它会自动选择第一项 随着也应该选择其他值 有人在 IE7 8 中偶然发现过这个吗 在研究 jqgrid 的源代码时 我还看到了一条实际上可
  • 将 PHP 变量传递到 Javascript window.location

    我试图将 php 变量传递到 java 脚本 window location 中 该脚本在从数据库中删除项目后将用户返回到当前列表视图 我似乎无法得到正确的语法 Code function confirmation a var currSt
  • root.overrideredirect 和 绑定

    我希望以下程序退出
  • 数据表选择

    如何使用 DataTable 的 Select 方法来获取以 M 开头的用户名 假设 UserNameTextBox 有一个字符串M oDataTable Select UserName UserNameTextBox Text DataV
  • 覆盖 wp-login.php 样式

    我有一个 Wordpress CMS 网站 其中大多数标签都需要是白色的 因此 主题包括每个表单标签的以下样式 login label color fff font size 14px 上面的样式是从 wp login php 文件中填充的
  • Delphi 2009 中的 dfm 中添加的 DoubleBuffered 属性在 Delphi 2007 中不存在

    这是否意味着我无法在 delphi 2007 和 2009 之间共享表单 DoubleBuffered 在 TWinControl 中已经有一段时间了 Delphi 2009 的不同之处在于它是现在发布的 如果您只能忽略错误 而不是使属性起
  • Java 透明度渲染错误

    我目前正在开发一个信息亭风格的 Java 程序来显示天气 时间 天气预报等 这是该程序的截图should看起来像 时间更新之前的截图 各个部分均创建为 JPanel 其中包含paintComponent 方法被重写 他们绘制渐变标题和半透明
  • 如何获取多个字典值?

    我有一个Python字典 我想要做的是从中获取一些值作为列表 但我不知道实现是否支持这一点 myDictionary get firstKey works fine myDictionary get firstKey secondKey g
  • 几秒钟后停止 requestAnimationFrame

    我见过很多用法requestAnimationFrame正在被调用并停止 但我没有看到任何有关在 x 秒后停止它的信息 我写了这段代码 http codepen io anon pen PbvrVZ http codepen io anon