gpt4 book ai didi

javascript - 打开模态窗口后无法清除间隔

转载 作者:行者123 更新时间:2023-11-30 19:24:04 24 4
gpt4 key购买 nike

我正在尝试根据模态是打开还是关闭来创建和清除间隔。我可以让它运行,但是一旦我关闭模式,它就会显示错误:

var myInterval is not defined

不过,

myInterval 已定义。我做错了什么?

jQuery(document).ready(function() {
$("#modal-task").on("shown.bs.modal", function() {
// This works
var myInterval = setInterval(function() {
startTask();
}, 3000);
});

$('#modal-task').on('hide.bs.modal', function() {
// This throws the error: var myInterval is not defined
clearInterval(myInterval);
console.log("Hide Modal. Clear Interval");
});
});

最佳答案

这是因为您只在 shown.bs.modal 处理程序的范围内声明了 myInterval。为了让这两个函数都可以访问它,您需要在两个位置都可以访问的尽可能低的范围内声明它。在这种情况下,这将在 document.ready 处理程序中:

jQuery(function($) {
var myInterval;

$("#modal-task").on("shown.bs.modal", function() {
myInterval = setInterval(function() {
startTask();
}, 3000);
});

$('#modal-task').on('hide.bs.modal', function() {
clearInterval(myInterval);
console.log("Hide Modal. Clear Interval");
});
});

关于javascript - 打开模态窗口后无法清除间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57107830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com