Javascript 设置超时后的设置间隔
以上工作 现在,我需要通过点击一个按钮来中断上述操作,在第页上执行一些操作,然后在点击十秒钟后再次激活Javascript 设置超时后的设置间隔,javascript,jquery,Javascript,Jquery,以上工作 现在,我需要通过点击一个按钮来中断上述操作,在第页上执行一些操作,然后在点击十秒钟后再次激活setInterval var playtop = setInterval(goright, 5000); function goright(){ ... } 但是,一旦中断,setInterval就不会再次激活。它不起作用,因为playtop是最初设置间隔时返回的id setTimeout方法需要函数,而不是id,因此您应该再次传递对goright函数的引用: $("#btngoright
setInterval
var playtop = setInterval(goright, 5000);
function goright(){
...
}
但是,一旦中断,
setInterval
就不会再次激活。它不起作用,因为playtop
是最初设置间隔时返回的id
setTimeout
方法需要函数,而不是id,因此您应该再次传递对goright
函数的引用:
$("#btngoright").click(function(){
clearInterval(playtop);
...
setTimeout(playtop, 10000);
});
如果要在10秒后再次激活间隔,可以设置间隔并在匿名函数中传递对goright
函数的引用:
setTimeout(goright, 10000);
差不多。应该是:
$("#btngoright").click(function(){
clearInterval(playtop);
setTimeout(function () {
setInterval(goright, 5000);
}, 10000);
});
通过这种方式,您将控制权放回playtop变量,这意味着中断功能将工作不止一次。但是
goright
是一个在这种情况下只执行一次的功能!
$("#btngoright").click(function(){
clearInterval(playtop);
setTimeout(function () {
playtop = setInterval(goright, 5000);
}, 10000);
});