jQuery无限加载瀑布流是一种网页设计技术,它结合了jQuery库和瀑布流布局,实现页面内容的动态加载。瀑布流布局是一种多列布局方式,内容从上到下、从左到右依次排列,当一行排满后,接下来的内容会自动流入下一行。
以下是一个基于滚动事件的jQuery无限加载瀑布流示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Infinite Scroll Masonry</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
margin: -10px;
}
.item {
width: calc(25% - 20px);
margin: 10px;
background-color: #ccc;
height: 200px;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div class="container">
<!-- 初始内容 -->
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</div>
<script>
$(document).ready(function() {
var loading = false;
function loadMoreItems() {
if (loading) return;
loading = true;
// 模拟异步加载数据
setTimeout(function() {
for (var i = 0; i < 4; i++) {
$('.container').append('<div class="item">Item ' + ($('.item').length + 1) + '</div>');
}
loading = false;
}, 1000);
}
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreItems();
}
});
// 初始加载
loadMoreItems();
});
</script>
</body>
</html>
loading
标志位来避免重复加载。loading
标志位来避免重复加载。order
属性或JavaScript的插入位置来解决。order
属性或JavaScript的插入位置来解决。通过以上方法,可以有效解决jQuery无限加载瀑布流中可能遇到的问题,提升用户体验和页面性能。
领取专属 10元无门槛券
手把手带您无忧上云