jQuery 不间断滚动(也称为无限滚动或自动滚动)是一种网页设计技术,它允许用户在滚动到页面底部时自动加载更多内容,从而实现无缝的用户体验。这种技术通常用于长页面,如新闻列表、商品展示等。
以下是一个基于滚动事件的 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>
.content {
height: 200px;
overflow-y: scroll;
border: 1px solid #ccc;
}
.item {
height: 50px;
border-bottom: 1px solid #eee;
}
</style>
</head>
<body>
<div class="content" id="content">
<!-- 初始内容 -->
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
</div>
<script>
$(document).ready(function() {
var loading = false;
function loadMoreContent() {
if (loading) return;
loading = true;
// 模拟加载更多内容
setTimeout(function() {
for (var i = 0; i < 3; i++) {
$('#content').append('<div class="item">Item ' + (i + 4) + '</div>');
}
loading = false;
}, 1000);
}
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreContent();
}
});
// 初始加载
loadMoreContent();
});
</script>
</body>
</html>
loading
)来防止在内容加载过程中重复触发加载操作。setTimeout
或 setInterval
来模拟异步加载,实际应用中应替换为 AJAX 请求。$(window).scrollTop() + $(window).height() >= $(document).height() - 100
,确保在接近底部时触发加载。通过以上方法,可以实现一个简单且高效的不间断滚动效果,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云