当我的AJAX调用完成后,我需要调用setInterval
,但是当进行两次AJAX调用时,它也会调用setInterval
两次。如何停止之前的setInterval
?
$(document).ajaxComplete(function () {
$(".iframeFake").load(function () {
var islem = setInterval(function () {
$('.iframeFake').each(function (event) {
console.log(1);
}, 1000);
});
});
在第一篇文章的Chrome控制台中我得到每秒1次 - 但是在第二篇文章之后我得到每秒双倍1。我的问题在哪里?
答案 0 :(得分:1)
var islem;
$(document).ajaxComplete(function () {
$(".iframeFake").load(function () {
clearInterval(islem);
islem = setInterval(function () {
$('.iframeFake').each(function (event) {
console.log(1);
}, 1000);
});
});
如果要保持始终有一个间隔,请将变量存储在更高的范围内,并在创建之前取消以停止任何延迟间隔。