分页自动加载(Pagination Auto-Loading) 是一种在用户滚动页面时自动加载更多内容的技术,常用于提升用户体验,减少手动翻页的繁琐。
以下是一个简单的无限滚动实现示例:
let currentPage = 1;
const pageSize = 10;
function loadData(page) {
// 模拟从服务器获取数据
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = Array.from({ length: pageSize }, (_, i) => `Item ${i + (page - 1) * pageSize}`);
resolve(data);
}, 1000);
});
}
function appendDataToDOM(data) {
const container = document.getElementById('data-container');
data.forEach(item => {
const div = document.createElement('div');
div.textContent = item;
container.appendChild(div);
});
}
function checkScroll() {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
const windowHeight = window.innerHeight;
const documentHeight = document.documentElement.offsetHeight;
if (scrollTop + windowHeight >= documentHeight - 10) {
loadMoreData();
}
}
async function loadMoreData() {
currentPage++;
const data = await loadData(currentPage);
appendDataToDOM(data);
}
window.addEventListener('scroll', checkScroll);
// 初始加载第一页数据
loadMoreData();
领取专属 10元无门槛券
手把手带您无忧上云