Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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_Setinterval - Fatal编程技术网

Javascript 覆盖设置间隔

Javascript 覆盖设置间隔,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我过去认为,如果我创建一个变量,我可以简单地覆盖它们。 我正在努力做到以下几点: var zoom = { $el : $('#Overlay'), nextTimer : null, activeDetail : -1, zo: null, init: function() { zoom.nextTimer = setInterval(zoom.nextLoop, 5000); }, nextLoop: function()

我过去认为,如果我创建一个变量,我可以简单地覆盖它们。 我正在努力做到以下几点:

var zoom = {
    $el : $('#Overlay'),
    nextTimer : null,
    activeDetail : -1,
    zo: null,
    init: function() {
       zoom.nextTimer = setInterval(zoom.nextLoop, 5000);
    },
    nextLoop: function() {
       console.log("zoom.nextLoop");        
    }          
}

    $(document).on('click', function(e){
        console.log("klick");
        zoom.init();
    }); 
并预期zoom.nextimer将被覆盖。但它似乎是错误的,一个新的计时器被添加。 如何覆盖它

另请参见

intervalID是可以传递给clearInterval()的唯一间隔ID

-

setInterval
的返回值只是一个标识间隔的数字。如果要停止间隔再次运行函数,需要调用
clearInterval
,并将其作为参数传递

var nextTimer = setInterval(func, time);
clearInterval(nextTimer);

您需要调用
clearInterval()
,以确保它不会再次执行

您可能会更幸运地使用
setTimout
,它只会被调用一次。

“并期望zoom.nextTimer将被覆盖”:这确实发生了,但该值只是计时器的ID。前一个计时器将继续在后台运行。有关更多信息,请参阅MDN文档:。