I am trying to use paginate()
to achieve infinite scroll. I think the easiest way is using the 'infinite-scroll' to achieve this. If you have any other suggestion how to do it without infinite-scroll library, just using jQuery, I'd be happy to know..
I am returning the variable to view like this:
public function index()
{
$posts = Post::with('status' == 'verified')
->paginate(30);
return view ('show')->with(compact('posts'));
}
My View:
<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 Part:
$(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
});
});
});
However, this doesn't work. The ->render() part is working because I am getting [<[1]2]3]>] part. However, the infinite scroll doesn't work. I also don't get any errors in the console.
[<[1]2]3]>] is like this in the view:source:
<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>