Как реализовать бесконечный/бесконечный прокрутки в DIV в Javascript/jQuery - программирование
Подтвердить что ты не робот

Как реализовать бесконечный/бесконечный прокрутки в DIV в Javascript/jQuery

Я понимаю, что здесь есть несколько вопросов, которые затрагивают проблему бесконечной прокрутки. Однако большинство из них используют плагины.

Я хотел бы знать, как реализовать бесконечную прокрутку, которая будет работать с моими существующими функциями подкачки. В настоящее время у меня есть кнопка "загрузить больше", при нажатии на нее появятся следующие 10 элементов и добавятся в список. Вместо этого, когда нажата кнопка "загрузить больше", я бы хотел, чтобы это произошло, когда положение прокрутки опустилось до конца. Кроме того, этот список не находится на главной странице, он находится в DIV. Сохранение номера страницы в скрытом поле с идентификатором 'pageNum'.

$.ajax({
        type: "GET",
        url: "/GetItems",
        data: { 'pageNum': $('#pageNum').val() },
        dataType: "json",
        success: function (response) {
                $('#MyDiv ul').append(response.Html);
                $('#pageNum').val(response.PageNum);
            }
        }
});

#MyDiv
{
    border:solid 1px #ccc; 
    width:250px;
    height:500px;
    overflow-y: scroll;
}

<div id="MyDiv">
  <ul>
    <li>...</li>
    ...
  </ul>
</div>
4b9b3361

Ответ 1

Самый простой способ - проверить, достигли ли вы дна и запускать событие click-event на вашем "загружать больше" -книга.

$(window).on('scroll', function(){
    if( $(window).scrollTop() > $(document).height() - $(window).height() ) {
        $("#load-more").click();
    }
}).scroll();

script выше - это просто пример, не используйте его в рабочей среде.

Обновление

... и лучший способ - вызвать функцию вместо запуска события, которое вызывает функцию.

Update2

... и наилучшим образом: пусть пользователь решает, что делать, если он делает (в этом случае он прокручивает вниз, чтобы достигнуть конца вашей страницы, чтобы не дойти до следующей страницы);)