滚动加载(Infinite Scroll)是一种网页性能优化技术,主要用于提升用户在浏览长列表或大量数据时的体验。其基本原理是当用户滚动到页面底部时,自动加载并显示更多内容,而不是一次性将所有内容加载到页面上。
以下是一个简单的滚动加载示例,使用原生JavaScript实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>滚动加载示例</title>
<style>
#content {
height: 300px;
overflow-y: scroll;
border: 1px solid #ccc;
}
.item {
height: 50px;
border-bottom: 1px solid #eee;
}
</style>
</head>
<body>
<div id="content"></div>
<script>
let isLoading = false;
let page = 1;
const content = document.getElementById('content');
function loadMore() {
if (isLoading) return;
isLoading = true;
// 模拟AJAX请求
setTimeout(() => {
for (let i = 0; i < 10; i++) {
const item = document.createElement('div');
item.className = 'item';
item.textContent = `Item ${page * 10 + i}`;
content.appendChild(item);
}
page++;
isLoading = false;
}, 1000);
}
content.addEventListener('scroll', () => {
if (content.scrollTop + content.clientHeight >= content.scrollHeight - 10) {
loadMore();
}
});
// 初始加载
loadMore();
</script>
</body>
</html>
isLoading
),防止重复触发加载。通过以上方法,可以实现一个高效且用户友好的滚动加载功能。
领取专属 10元无门槛券
手把手带您无忧上云