加载所需页面

时间:2016-02-23 10:45:05

标签: jquery setinterval

我正在使用下面的代码将外部页面加载到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);

2 个答案:

答案 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 setIntervalsetInterval递归后在给定时间后执行任务,您只需要一次,因此setTimeout最适合您的目的。

function loadingstaff (){
   var ids = "";
   $.post("loadfast.php",{id: ids},
   function (data){
       $(".getposta").html(data);
   });
 }
var refreshIntervalId = setTimeout(loadingstaff, 1000);