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;
}使用间歇调用,在鼠标点击时使用清除调用,可消除情况:点击开始后开始执行,在点击开始又一次执行,导致间歇时间看起来很短。用同样的方法消除超时调用不起作用,为什么?
添加回答
举报
0/150
提交
取消