Remove infinitescroll in single page (#319)

* Remove infinitescroll in single page

* Update infinitescroll.js
This commit is contained in:
汪磊 2017-06-27 19:03:51 +08:00 committed by Aileen Nowak
parent 96ffcdceed
commit d3a9af0666
2 changed files with 26 additions and 13 deletions

View File

@ -1,18 +1,29 @@
// Code snippet inspired by https://github.com/douglasrodrigues5/ghost-blog-infinite-scroll
$().ready(function () {
var page = 2,
blogUrl = window.location,
$(function ($) {
var currentPage = 1,
pathname = window.location.pathname,
$window = $(window),
$document = $(document),
$result = $('.post-feed');
$(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
if (page <= maxPages) {
$.get((blogUrl + '/page/' + page),
function (content) {
function handleScroll () {
// return if not scroll to the bottom
if ($window.scrollTop() + $window.height() !== $document.height()) {
return;
}
if (currentPage >= maxPages) {
return $window.off('scroll', handleScroll);
}
// next page
currentPage++;
// Load more
$.get((pathname + 'page/' + currentPage + '/'), function (content) {
$result.append($(content).find('.post').hide().fadeIn(100));
page = page + 1;
});
}
}
});
$window.on('scroll', handleScroll).trigger('scroll');
});

View File

@ -63,10 +63,12 @@
</script>
<script type="text/javascript" src="{{asset "js/jquery.fitvids.js"}}"></script>
{{#if pagination.pages}}
<script>
var maxPages = parseInt('{{pagination.pages}}');
</script>
<script src="{{asset "js/infinitescroll.js"}}"></script>
{{/if}}
{{!-- The #block helper will pull in data from the #contentFor other template files. In this case, there's some JavaScript which we only want to use in post.hbs, but it needs to be included down here, after jQuery has already loaded. --}}
{{{block "scripts"}}}