I am using a combination of jscroll.js, jquery.upvote.js and Laravel's paginate() method. It all works except for this little thing, the last post in the pagination page always has unclickable voting buttons.
No errors in the developer's console either.
At the moment, I'm using paginate(2) because I only have 3 posts in the category.
EDIT: I just added a few more posts and noticed that the voting buttons only work on the first page, the rest of the pages are rendering the vote buttons unclickable.
EDIT 2: I turned on debug: true in jscroll.js and I'm getting this new error
jScroll: nextSelector not found - destroying
The "next" selector markup looks like this
<a href="24?page=2" rel="next">»</a>
If I remove paginate(2) and jscroll.js all voting buttons start functioning properly.
SubredditController
$subreddit = Subreddit::with('posts.votes')->with('moderators.user')->where('id', $subreddit->id)->first();
$posts = $subreddit->posts()->paginate(2);
The view
<link rel="stylesheet" href="{{ URL::asset('assets/css/jquery.upvote.css') }}">
<script src="{{ URL::asset('assets/js/jquery.upvote.js') }}"></script>
<script type="text/javascript" src="{{ asset('assets/js/jquery.jscroll.min.js') }}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.topic').upvote();
$('.vote').on('click', function (e) {
e.preventDefault();
var $button = $(this);
var postId = $button.data('post-id');
var value = $button.data('value');
$.post('http://localhost/reddit/public/votes', {postId:postId, value:value}, function(data) {
if (data.status == 'success')
{
// Do something if you want..
}
}, 'json');
});
$('.scroll').jscroll({
autoTrigger: true,
nextSelector: '.pagination li.active + li a',
contentSelector: 'div.scroll',
callback: function() {
$('ul.pagination:visible:first').hide();
}
});
});
</script>
<div class="scroll">
@foreach($posts as $post)
@include('partials/post')
@endforeach
{!! $posts->render() !!}
</div>
