我有一个包含500多个条目的大型数组。结构是这样的:
Array
(
[result] => Array
(
[mounts] => Array
(
[0] => Array
(
[name] => Test0
[spellId] => 230401
[creatureId] => -73991
[itemId] => 142369
)
[1] => Array
(
[name] => Test1
[spellId] => 61447
[creatureId] => 32213
[itemId] => 44234
)
.....
我使用foreach获取数组数据:
foreach ($r['result']['mounts'] as $item) echo '
<li class="span3 clearfix" data-tag=',
$item['qualityId'], '>
', $item['name'], '.
</li>';
echo '
我想要无休止的分页。因此,当用户到达页面末尾并向下滚动时,它应该加载下一个数据。
我知道有一些无限分页的插件,但我不让它们使用数组中的数据。您对简单的解决方案有什么建议吗?
答案 0 :(得分:0)
您需要设置分页并设置窗口滚动侦听器,以便在用户滚动到底部时请求下一页。例如,如果设置了页面,则只发送在“页面”上显示的内容,而不是发送所有条目。然后,在您的js中,您可以设置一个窗口滚动侦听器,以便在用户滚动时请求下一个“页面”。
我创建了一个jsfiddle来展示JS方面的东西。我的addMoreElements
会被替换,但是你想要设置你的分页ajax请求,我会把它的一部分留给你。
这是小提琴真正重要的部分:
var $window = $(window),
$document = $(document);
$window.scroll(function() {
if ($window.scrollTop() + $window.height() == $document.height()) {
addMoreElements();
}
});