【发布时间】:2020-09-28 10:48:43
【问题描述】:
我只是想清除以前的间隔并在进行 ajax 调用时设置一个新的间隔。
目前的代码是:
$("#title-form").change(function () {
var title = $(this).val().trim();
$.ajax({
url: '/ajax/timing_check/',
type: "get",
data: {
'title': title
},
dataType: 'json',
success: function (data) {
var interval = null;
if(data.count_down){
var _second = 1000;
var _minute = _second * 60;
var timer;
var end = data.count_down
mins = Math.floor(end / 60);
secs = end % 60;
var interval = setInterval(count,1000)
function count(){
console.log(parseInt(secs))
secs -= 1
}}
else{
var stop = function(){
clearInterval(interval);}
}
}
})
})
我尝试了许多推荐的变体,以便能够从函数外部清除间隔。如;
将“间隔”变量设置为 null 或 false,
window.setInterval,
在setInterval里面写count函数,
将 count 函数写为 ajax 函数之外的单独函数,
但两种变体都没有清除间隔。
稍后我还需要清除 keydown 的间隔。
【问题讨论】:
标签: javascript ajax setinterval clearinterval