2016-02-23 5 views
0

Я использую этот код ниже для загрузки внешних страниц в div. На одной из страниц есть функция setinterval в течение 1 секунды. когда я перехожу назад на страницу, код setinterval запускается дважды, и я хочу, чтобы он запускался только один раз. как остановить интервал, когда я перехожу из этой страницы?Остановка функции setinterval в JQuery после загрузки нужной страницы

$(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

использовать 'clearInterval (refreshIntervalId);' где вам нужно. –

+0

, когда я использую 'clearInterval (refreshIntervalId);' он не работает, так как событие click не находится на той же странице, что и функция setinterval –

+0

попробуйте в начале после 'setInterval' –

ответ

0
$('.john').click(function(event) { 
    event.stopImmediatePropagation() 
    var href = $(this).attr('href'); 
    $('.content').html(""); 
    $('.content').load(href).fadeIn('1000'); 
    return false; 
}); 
0

Использование setTimeout InstEd из setInterval. Задача setInterval выполняет задание по заданному времени рекурсивно, и вам нужно всего один раз, поэтому setTimeout подходит для вашей цели.

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

@RinoRaj, Спасибо, человек. –

+0

он не работает, данные, загружаемые после интервала, не отображаются –

+0

[см. Это] (http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_settimeout), он идентичен вашему требованию. –

Смежные вопросы