jQuery 无限滚动加载(Infinite Scroll)是一种网页设计技术,它允许用户在滚动到页面底部时自动加载更多内容,而不需要点击“加载更多”按钮。这种技术可以提升用户体验,减少页面加载次数,节省带宽。
以下是一个基于 jQuery 的无限滚动加载示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Infinite Scroll Example</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.item {
height: 200px;
border: 1px solid #ccc;
margin: 10px;
}
.loading {
text-align: center;
padding: 10px;
}
</style>
</head>
<body>
<div id="content">
<!-- 初始内容 -->
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<!-- 更多内容将通过无限滚动加载 -->
</div>
<div class="loading" style="display:none;">Loading...</div>
<script>
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreContent();
}
});
function loadMoreContent() {
$('.loading').show();
// 模拟异步加载内容
setTimeout(function() {
for (let i = 0; i < 3; i++) {
$('#content').append('<div class="item">Item ' + ($('.item').length + 1) + '</div>');
}
$('.loading').hide();
}, 1000);
}
</script>
</body>
</html>
throttle
或 debounce
函数限制事件触发频率。throttle
或 debounce
函数限制事件触发频率。scrollIntoView
方法将新内容滚动到视图中。scrollIntoView
方法将新内容滚动到视图中。通过以上方法,可以有效解决 jQuery 无限滚动加载中常见的问题,提升用户体验和页面性能。