gpt4 book ai didi

javascript - jQueryclearinterval/stopinterval 不起作用

转载 作者:行者123 更新时间:2023-11-28 18:45:21 26 4
gpt4 key购买 nike

我有一个自动刷新函数,如果选中复选框并单击按钮,则会调用该函数。我想在取消单击复选框时停止自动刷新:

var refreshId = null; 

$("#disINFRAlive").click(function(infralivefun) {
event.preventDefault(infralivefun);

var category_id = {};
category_id['datumanf'] = $("#datumanf").datepicker().val();
category_id['datumend'] = $("#datumend").datepicker().val();

$.ajax({ //create an ajax request to display.php
type: "POST",
url: "infratestomc.php?id=" + Math.random(),
dataType: "html",
data: category_id,
success: function(response) {
$("#resulttabelle").show().html(response);
}
});

if ($('#autorefcheck').is(':checked')) {
var refreshId = setInterval(function() {
var category_id = {};
category_id['datumanf'] = $("#datumanf").datepicker().val();
category_id['datumend'] = $("#datumend").datepicker().val();

$.ajax({ //create an ajax request to display.php
type: "POST",
url: "infratestomc.php?id=" + Math.random(),
dataType: "html",
data: category_id,
success: function(response) {
$("#resulttabelle").show().html(response);
}
});
}, 5000);
}
});

如果选中#autorefcheck 复选框并单击#disINFRAlive 按钮,则自动刷新将起作用。但是,我无法通过取消选中复选框来停止它:

function stopinterval(){
clearInterval(refreshId);
return false;
}

$('#autorefcheck').click(function() {
stopinterval();
});

我尝试以各种方式使用clearInterval,但到目前为止没有任何效果。

最佳答案

refreshId 的初始化中删除 var 关键字。

if ($('#autorefcheck').is(':checked')) {
refreshId = setInterval(function() {

按照您的方式,您正在不同的范围内重新声明变量。这样,您就无法从 stopInterval() 访问它。

关于javascript - jQueryclearinterval/stopinterval 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412668/

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