play.onclick=function(){ // 间歇调用实现定时器 clearInterval(timer); //清除 timer=setInterval(function(){ var i=Math.floor(Math.random()*8); title.innerHTML=data[i]; },200); } stop.onclick=function(){ clearInterval(timer); }
使用超时调用代替
play.onclick=function(){ clearTimeout(timer);//清除不起作用 flag=0; timer=setTimeout(getWard,200);//使用超时调用模拟 间歇调用 function getWard(){ var i=Math.floor(Math.random()*8); // title.innerHTML=data[i]; console.log(i); if (flag==0) { setTimeout(getWard,200);//递归 } } } stop.onclick=function(){ clearTimeout(timer); flag=1; }
使用间歇调用,在鼠标点击时使用清除调用,可消除情况:点击开始后开始执行,在点击开始又一次执行,导致间歇时间看起来很短。
用同样的方法消除超时调用不起作用,为什么?
不断滴自我催眠
相关分类