Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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_Intervals - Fatal编程技术网

Javascript 打开模式窗口后无法清除间隔

Javascript 打开模式窗口后无法清除间隔,javascript,jquery,intervals,Javascript,Jquery,Intervals,我试图创建并清除一个间隔,这取决于模式是打开还是关闭。我可以让它运行,但一旦我关闭模式,它就会显示一个错误: 未定义var myInterval myInterval已定义。我做错了什么 jQuery(文档).ready(函数(){ $(“#模态任务”)。在(“show.bs.modal”,function()上{ //这很有效 var myInterval=setInterval(函数(){ startTask(); }, 3000); }); $('#模态任务')。在('hide.bs.mo

我试图创建并清除一个间隔,这取决于模式是打开还是关闭。我可以让它运行,但一旦我关闭模式,它就会显示一个错误:

未定义var myInterval

myInterval
已定义。我做错了什么

jQuery(文档).ready(函数(){
$(“#模态任务”)。在(“show.bs.modal”,function()上{
//这很有效
var myInterval=setInterval(函数(){
startTask();
}, 3000);
});
$('#模态任务')。在('hide.bs.modal',function()上{
//这会引发错误:未定义var myInterval
clearInterval(myInterval);
console.log(“隐藏模式.清除间隔”);
});
});

这是因为您仅在所示的
处理程序的范围内声明
myInterval
。为了让两个函数都可以访问它,您需要在两个位置都可以访问的尽可能低的范围内声明它。在本例中,它将位于document.ready处理程序中:

jQuery(函数($){
var-myInterval;
$(“#模态任务”)。在(“show.bs.modal”,function()上{
myInterval=setInterval(函数(){
startTask();
}, 3000);
});
$('#模态任务')。在('hide.bs.modal',function()上{
clearInterval(myInterval);
console.log(“隐藏模式.清除间隔”);
});
});