Tôi nhận thấy có một số câu hỏi ở đây giải quyết vấn đề cuộn vô tận. Tuy nhiên, hầu hết trong số họ đang sử dụng plugin.Cách triển khai cuộn vô tận/vô hạn trong DIV trong Javascript/jQuery
Tôi muốn biết cách triển khai cuộn vô tận sẽ hoạt động với chức năng phân trang hiện tại của tôi. Hiện tại tôi có nút "tải thêm", khi được nhấp vào, sẽ tìm nạp 10 mục tiếp theo và thêm vào danh sách. Thay vì làm điều này khi nút "tải thêm" được nhấp, tôi muốn nó xảy ra khi vị trí cuộn đến đáy. Ngoài ra, danh sách này không nằm trên trang chính, nó nằm trong một DIV. Lưu trữ số trang trong một trường ẩn với id '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>
Có lẽ cách đơn giản nhất là đặt một phần tử ở cuối danh sách, sau đó khi nó được đưa vào xem bạn biết chúng đã cuộn xuống để bạn tải thêm. Bạn có thể tìm thấy một số câu trả lời trên SO về cách kiểm tra phần tử đang ở trong chế độ xem –
Cảm ơn, có vẻ như nó sẽ hoạt động, nhưng chính xác nó sẽ tích hợp với mã của tôi ở đây như thế nào. Tôi thấy điều này: http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport tuy nhiên, khi nào tôi sẽ gọi hàm elementInViewport ? – Prabhu