У меня есть div, когда пользователь прокручивает до конца div, jquery получит больше данных с другой страницы и добавит их в div.Моя проблема в том, что иногда полоса прокрутки остается в нижней части div слишком долго, поэтому она выполняет оператор jquery несколько раз.Jquery получить и добавить дубликаты данных в DIV.Как предотвратить получение и добавление дублирующихся данных в jquery, если полоса прокрутки слишком долго остается внизу div?Мои коды:
function scrollalert(){
var elements = $(".messagepiecetime");
var lastmsgid = elements.eq(elements.length - 1).attr('id');
var scrolltop=$('#scrollbox').attr('scrollTop');
var scrollheight=$('#scrollbox').attr('scrollHeight');
var windowheight=$('#scrollbox').attr('clientHeight');
var scrolloffset=20;
if(scrolltop>=(scrollheight-(windowheight+scrolloffset)))
{
$.get('test7a.php?lastmsgID=' + lastmsgid, '', function(newitems){
$('#content').append(newitems);
});
}
setTimeout('scrollalert();', 1000);
}
setTimeout('scrollalert();', 1000);//
Вот где проблема возникает.Проблема исправлена, если я установил ее на 3000 миллисекунд.Вывод будет 8 дублированных данных, если я установлю его на 1 миллисекунду.Я знаю, что установка 3 тыс. Миллисекунд может решить эту проблему, но я не хочу, чтобы пользователи ждали 3 секунды, чтобы получить новые данные при каждой прокрутке вниз.Есть ли другой способ исправить это, не используя setTimeout 3 секунды?