我正在嘗試使用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