我使用下面的代码将外部页面加载到div中。其中一个页面有一个setinterval函数,持续1秒。当我导航回页面时,setinterval代码运行两次,我只希望它运行一次。当我导航出该页面时,如何停止间隔?
$(document).ready(function() {
$('.content').html("");
$('.content').load($('.john:first').attr('href'));
$('.john').click(function() {
var href = $(this).attr('href');
$('.content').html("");
$('.content').load(href).fadeIn('1000');
return false;
});
});该页面中的setinterval函数如下所示。
function loadingstaff (){
var ids = "";
$.post("loadfast.php",{id: ids},
function (data){
$(".getposta").html(data);
});
}
var refreshIntervalId = setInterval(loadingstaff, 1000);发布于 2016-02-23 18:48:11
$('.john').click(function(event) {
event.stopImmediatePropagation()
var href = $(this).attr('href');
$('.content').html("");
$('.content').load(href).fadeIn('1000');
return false;
});发布于 2016-02-23 19:09:10
使用setInterval的setTimeout实例。setInterval递归地在给定时间之后执行任务,而您只需要一次时间,因此setTimeout最适合您的目的。
function loadingstaff (){
var ids = "";
$.post("loadfast.php",{id: ids},
function (data){
$(".getposta").html(data);
});
}
var refreshIntervalId = setTimeout(loadingstaff, 1000);https://stackoverflow.com/questions/35575329
复制相似问题