Я использую бесконечную нагрузку с функцией jquery.window.scroll с этими кодами.jQuery бесконечная прокрутка двойной нагрузки
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
var page = $('#lastPostsLoader').attr('page')*1;
$('#lastPostsLoader').attr('page', page + 1);
DataLoadFunction(page);
}
});
Но эти коды требуют двойного времени, а иногда и ложных страниц при прокрутке вниз. Как это;
Прокрутка внизу ---> загрузка страницы 1 и страница загрузки 2 ---> прокрутка вниз ---> загрузка страницы 3 и страница загрузки 2 ---> прокрутка внизу ---> загрузка страницы 4 страница загрузки 5 ........
Итак, где я ошибаюсь? Спасибо ...
Возможно, вы захотите установить флаг в true, когда номер страницы изменится, а затем установите значение false в 'DataLoadFunction', как только оно будет завершено. В противном случае, если вы прокрутите страницу вниз и затем прокрутите ее снова, она дважды вызовет эту функцию (и если вы прокрутите ее больше, она будет вызывать эту функцию больше раз). Раньше я сталкивался с подобной проблемой и использовал флаг для меня. Затем вы проверили бы, будет ли '! Loading', если ваш флаг называется' loading', в вашем операторе if. – ClarkeyBoy