当前位置: 首页 > 知识库问答 >
问题:

javascript - 如何实现一个倒计时,切换浏览器 tab之后定时器不暂停,和 segmentfault 的倒计时验证一样?

夏侯鹏
2023-10-31

共有2个答案

韦俊英
2023-10-31

当浏览器最小化窗口或切换到另一个选项卡时就会触发visibilityChange事件,我们可以在事件中用document.hidden(true/false)或者document.visibilityState("visible"/"hidden")判断当前窗口的状态,来决定除定时器后者重新开始定时器

demo:

    let count = 0;    let timer = null    timer = setInterval(() => {      console.log(count);      count++    }, 200)    document.addEventListener("visibilitychange", function () {      if (document.hidden === true) {// document.visibilityState == "visible"        // 页面被挂起        clearInterval(timer)      } else {        // 页面由挂起被激活        timer = setInterval(() => {          console.log(count);          count++        }, 200)      }    });

也可以这样:

https://juejin.cn/post/6985798073700057118
宋耀
2023-10-31

记录倒计时开始的时间,页面切换回来时获取当前时间,相减就是剩下的时间。

 类似资料:
  • 问题内容: 我已经开发了一个倒数计时器,但不确定单击计时器的文本视图时如何暂停和恢复计时器。单击开始,然后再次单击以暂停并继续,再次单击计时器的文本视图。 这是我的代码: 问题答案: 资料来源:本要点。

  • 本文向大家介绍JavaScript实现的一个倒计时的类,包括了JavaScript实现的一个倒计时的类的使用技巧和注意事项,需要的朋友参考一下 近期在做排列五的彩票项目,每一期都有购彩时段,即用户打开这个排列五的页面时,会从服务器传来一个remaintime(离本次彩期结束的剩余时间),然后这个时间在客户端递减呈现给用户看,让用户获得本次彩期的剩余时间。 实现原理挺简单的,在此不在赘述,运行以下代

  • 本文向大家介绍Flutter倒计时/计时器的实现代码,包括了Flutter倒计时/计时器的实现代码的使用技巧和注意事项,需要的朋友参考一下 在我们实现某些功能时,可能会有倒计时的需求。 比如发送短信验证码,发送成功后可能要求用户一段时间内不能再次发送,这时候我们就需要进行倒计时,时间到了才允许再次操作。 如下图: 为了实现这样场景的需求,我们需要使用 Timer.periodic 。 一、引入Ti

  • 我试图制作一个在浏览器中工作的UTC午夜的JavaScript倒计时器(通常转换为本地时间)。 这是我现在在我的网站上使用的东西。

  • 本文向大家介绍Android CountDownTimer实现定时器和倒计时效果,包括了Android CountDownTimer实现定时器和倒计时效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现定时器和倒计时的具体代码,供大家参考,具体内容如下 直接上代码,相信都看得懂。 Android已经帮封装好了一个类,只不过很多人不知道而已。 代码: 调用的时候很简单

  • 本文向大家介绍JavaScript分秒倒计时器实现方法,包括了JavaScript分秒倒计时器实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript分秒倒计时器实现方法。分享给大家供大家参考。具体分析如下: 一、基本目标 在JavaScript设计一个分秒倒计时器,一旦时间完成使按钮变成不可点击状态 具体效果如下图,为了说明问题,调成每50毫秒也就是每0.05跳一次表