使用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失效