首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否在requestAnimationFrame()中重置'timestamp‘的值?

是否在requestAnimationFrame()中重置'timestamp‘的值?
EN

Stack Overflow用户
提问于 2018-08-27 21:52:02
回答 1查看 833关注 0票数 0

我目前正在制作一个幻灯片,可以在10秒后翻转幻灯片,并使用requestAnimationFrame来完成此操作。

然而,我对时间戳有一些问题。我希望跟踪时间戳值(这是没有问题的),当它达到一个超过10000 (10秒)的值时,将时间戳重置为0并继续运行。但是,当我尝试更改时间戳的值时,什么也没有发生。假设它是const?在每次调用时为performance.now()设置一个变量的行为也与我预期的不太一样。

想知道这个问题的最好解决方法是什么,也许是使用performance.now()?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 06:40:16

当循环开始时,存储对它何时开始的引用。然后更新该变量,而不是尝试修改时间戳。

代码语言:javascript
复制
let start = null;
let loop = (timestamp) => {
  if (!start) {
    start = timestamp;
  };
  const progress = timestamp - start;
  if (progress > 10000) {
    console.log('loop', start);
    start = timestamp;
  }
  requestAnimationFrame(loop)
};
requestAnimationFrame(loop);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52040914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档