我正在使用下面的代码将外部页面加载到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);
答案 0 :(得分:0)
$('.john').click(function(event) {
event.stopImmediatePropagation()
var href = $(this).attr('href');
$('.content').html("");
$('.content').load(href).fadeIn('1000');
return false;
});
答案 1 :(得分:0)
使用setTimeout
setInterval
。 setInterval
递归后在给定时间后执行任务,您只需要一次,因此setTimeout
最适合您的目的。
function loadingstaff (){
var ids = "";
$.post("loadfast.php",{id: ids},
function (data){
$(".getposta").html(data);
});
}
var refreshIntervalId = setTimeout(loadingstaff, 1000);