Я понимаю, что здесь есть несколько вопросов, которые затрагивают проблему бесконечной прокрутки. Однако большинство из них используют плагины.Как реализовать бесконечный/бесконечный прокрутки в 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>
Возможно, самым простым способом было бы поместить элемент в самое нижнее положение списка, а затем, когда он появится в поле зрения, вы знаете, что они прокручиваются вниз, поэтому вы загружаете больше. Вы можете найти несколько ответов на SO о том, как проверить элемент, находящийся в области просмотра. –
Спасибо, похоже, что это сработает, но как именно оно будет интегрироваться с моим кодом здесь. Я нашел это: http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport однако, когда я бы назвал функцию elementInViewport ? – Prabhu