以下是一个使用Ajax Loadmore和Shuffle.js来加载和随机排列项目,并确保有布局的示例代码:
HTML:
Item 1
Item 2
Item 3
Item 4
Item 5
CSS:
.shuffle-container {
display: flex;
flex-wrap: wrap;
}
.item {
width: 200px;
height: 200px;
background-color: #ccc;
margin: 10px;
}
Javascript:
// 初始化Shuffle.js
var shuffleInstance = new Shuffle(document.getElementById('container'), {
itemSelector: '.item'
});
// 定义加载更多函数
function loadMoreItems() {
var newItems = [
'Item 6',
'Item 7',
'Item 8',
'Item 9',
'Item 10'
];
// 将新项目添加到容器中
document.getElementById('container').innerHTML += newItems.join('');
// 重新初始化Shuffle.js实例
shuffleInstance = new Shuffle(document.getElementById('container'), {
itemSelector: '.item'
});
// 调用布局方法确保项目有正确的位置
shuffleInstance.layout();
}
// 点击“Load More”按钮时调用加载更多函数
document.getElementById('load-more').addEventListener('click', loadMoreItems);
上述代码中,我们首先在HTML中定义了一个带有id为“container”的容器和一个“Load More”按钮。然后我们使用CSS样式定义了项目的布局。在Javascript中,我们通过使用Shuffle.js库来初始化和布局项目。在加载更多函数中,我们定义了一个新的项目数组,并将它们添加到容器中。然后我们重新初始化Shuffle.js实例,并调用布局方法以确保项目有正确的位置。最后,我们将加载更多函数绑定到“Load More”按钮的点击事件上。
通过使用上述代码,您可以在加载更多项目时保持正确的布局。