こんにちは、無限ページの js コードがうまく機能していますが、何らかの理由で 2 ページ目でしかトリガーされません。自分のニーズを満たすために見つけたいくつかのコードにいくつかの変更を加えましたが、アイテムをロードし続ける代わりに、コンソール ログの状態として 2 ページ目で停止します。これが私のコードです。誰かがそれをチェックして、これがトリガーされない理由を教えてください。私のページネーションに関しては、私は will_paginate gem を使用しており、下部のページへのリンクを取得しているため、バック es は正常に機能しています。前もって感謝します。
編集 2: 誰かが私の問題に遭遇した場合、これが私の最終的なセットアップです。
- content_for :scripts do
:javascript
(function() {
var divContainer = $('#posts-container');
var page = 1,
loading = false;
var current_url = divContainer.data('url') + '?page=';
function nearBottomOfPage() {
return $(window).scrollTop() >= $(document).height() - $(window).height() - 10;
}
$(window).scroll(function(){
if (loading) {
return;
}
if(nearBottomOfPage()) {
loading=true;
page++;
$.ajax({
url: current_url + page,
type: 'get',
dataType: 'script',
success: function(html) {
var $items = $(html).find('.item');
jQuery(".content").append($items).masonry( 'appended', $items, true );
$(".content").masonry('reload');
},
error: function() {
console.log("Error")
},
complete: function() {
loading = false;
}
});
}
});
}());
編集1:
nearBottomOfPage() 関数が正しく動作していないことがわかりました。初めてトリガーするだけで、再度 true を返すことはありません。なぜこれができるのですか?