我正在尝试使用paginate()
来实现无限滚动。我认为最简单的方法是使用'无限滚动'来实现这一点。如果您有任何其他建议,如何做到这一点没有无限滚动库,只是使用jQuery,我很乐意知道..Laravel 5分页+无限滚动jQuery
我返回变量查看这样的:
public function index()
{
$posts = Post::with('status' == 'verified')
->paginate(30);
return view ('show')->with(compact('posts'));
}
我的观点:
<div id="content" class="col-md-10">
@foreach (array_chunk($posts->all(), 3) as $row)
<div class="post row">
@foreach($row as $post)
<div class="item col-md-4">
<!-- SHOW POST -->
</div>
@endforeach
</div>
@endforeach
{!! $posts->render() !!}
</div>
JavaScript部分:
$(document).ready(function() {
(function() {
var loading_options = {
finishedMsg: "<div class='end-msg'>End of content!</div>",
msgText: "<div class='center'>Loading news items...</div>",
img: "/assets/img/ajax-loader.gif"
};
$('#content').infinitescroll({
loading: loading_options,
navSelector: "ul.pagination",
nextSelector: "ul.pagination li:last a", // is this where it's failing?
itemSelector: "#content div.item"
});
});
});
但是,这是行不通的。 - > render()部分正在工作,因为我正在获取[< [1] 2] 3]>]部分。但是,无限滚动不起作用。我也不会在控制台中发现任何错误。
[< [1] 2 3]>]是这样的观点:来源:
<ul class="pagination">
<li class="disabled"><span>«</span> </li> // «
<li class="active"><span>1</span></li> // 1
<li><a href="http://test.dev/?page=2">2</a></li> // 2
<li><a href="http://test.dev/?page=3">3</a></li> // 3
<li><a href="http://test.dev/?page=2" rel="next">»</a></li> // »
</ul>
我得承认,我” m不熟悉infinitescroll插件,但我做了一些我自己构建的无限滚动条。我将这些页面变量保存在一个隐藏的输入框中,当您滚动到底部时,页面计数得到更新,并且基于新页面编号抽取新条目的函数被调用并将新条目追加到容器底部。我还设置了一个max_pages隐藏输入框,因此当用户点击该max_page数时,您会看到类似页面末尾的消息。我不知道这是否是最好的方式,但它对我来说最合适。你想看到一些经验吗? – cbloss793
只要我也可以使用加载文本/图像(因此具有加载状态的功能),我愿意接受任何建议。我认为最好自己做,而不是使用图书馆,但我想我会喜欢Laravel的'paginate()'。我很想看看你的方法。你能适应我的情况吗? – senty
当然!在下面查看我的答案。 :) – cbloss793