Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置超时后的设置间隔_Javascript_Jquery - Fatal编程技术网

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);
});