你的位置:首页 > Java教程

[Java教程]使用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函数,从而起到关闭定时器的效果}