jQuery 滚动加载数据,通常称为“无限滚动”或“滚动分页”,是一种在用户滚动页面时动态加载更多内容的技术。这种方法可以提高用户体验,减少初始页面加载时间,并在用户需要时提供内容。
以下是一个简单的 jQuery 滚动加载数据的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery 滚动加载示例</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="content">
<!-- 初始内容 -->
</div>
<div id="loading" style="display: none;">加载中...</div>
<script>
var page = 1;
var loading = false;
function loadMoreData() {
if (loading) return;
loading = true;
$('#loading').show();
// 模拟异步加载数据
setTimeout(function() {
for (var i = 0; i < 10; i++) {
$('#content').append('<p>这是第 ' + page + ' 页的数据</p>');
}
page++;
$('#loading').hide();
loading = false;
}, 1000);
}
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreData();
}
});
// 初始加载第一页数据
loadMoreData();
</script>
</body>
</html>
function throttle(func, wait) {
var timeout = null;
return function() {
if (!timeout) {
timeout = setTimeout(function() {
func.apply(this, arguments);
timeout = null;
}, wait);
}
};
}
$(window).scroll(throttle(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreData();
}
}, 200));
通过以上方法,可以有效实现 jQuery 滚动加载数据的功能,并解决常见的性能和用户体验问题。
没有搜到相关的文章