使用setTimeout模拟setInterval效果

Posted hello八戒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用setTimeout模拟setInterval效果相关的知识,希望对你有一定的参考价值。

  由于现在部分浏览器基于对系统性能的优化,在使用setInterval的时候,在页面没有获得关注的状态,浏览器可以会自动将setInterval终端,等到该页面重新获得关注时再开启。这样就会使得一些基于setInterval的定时效果出现意想不到的问题;

  解决的办法就是使用setTimeout来模拟setInterval的效果。

  具体实现过程如下:

var i = 0;
function
time(){ //每隔1秒让++i console.log(++i); setTimeout(time,1000); } time(); //执行time函数 btn.onclick = function(){ time = null; //重写time函数,从而起到关闭定时器的效果 }

 

以上是关于使用setTimeout模拟setInterval效果的主要内容,如果未能解决你的问题,请参考以下文章

setInterval 和 setTimeout 是如何工作的?

react-native android模拟器或真机上定时器setInterval和setTimeout失效

请简述一下settimeout和setinterval的区别,其中包括内存方面的分析前端

使用setTimeout实现setInterval

setTimeout()和setInterval()的用法

setTimeout和setInterval