###実現したいこと
Kaminariを使って、無限スクロールを実装しました。
最下部に辿りつくと、自動で次のページがロードされるのですが、ロードされるまでの間に、「ロード中..」のgifを表示させたいです。
無限スクロールは以下のサイトを参考に作りました。
https://qiita.com/s_yasunaga/items/ab17424912ee90f853d7
現状、最下部に「Loading...」(設定した覚えはないためデフォルトでしょうか?)との表示は出現します。
###コード
application.html.erb
view
1<script src="https://cdnjs.cloudflare.com/ajax/libs/jscroll/2.4.1/jquery.jscroll.min.js"></script>
index.html.erb
view
1<div class="main posts-index"> 2 <div class="container"> 3 <div id="items"> 4 <%= render 'items' %> 5 </div> 6 </div> 7</div>
_items.html.erb
view
1<ul class="skill-list jscroll"> 2 <% @posts.each do |post| %> 3 <p><%= post.title %></p> 4 <% end %> 5 <%= paginate @posts %> 6</ul>
js
1$('#items').append("<%= escape_javascript(render 'items', object: @posts) %>") 2$("#more_link").replaceWith("<%= escape_javascript(link_to_next_page(@posts, 'もっと見る',class: 'items_btn', remote: true, id: 'more_link')) %>"); 3
js
1$(document).on('turbolinks:load', function() { 2 $(window).on('scroll', function() { 3 scrollHeight = $(document).height(); 4 scrollPosition = $(window).height() + $(window).scrollTop(); 5 if ( (scrollHeight - scrollPosition) / scrollHeight <= 0.05) { 6 $('.jscroll').jscroll({ 7 contentSelector: '.skill-list', 8 nextSelector: 'span.next:last a', 9 }); 10 } 11 }); 12})
###試したこと
https://ruby-rails.hatenadiary.com/entry/20141115/1416021886
のサイトを参考にもし、下記のように利用していたので、試しましたが効果はありませんでした。
loading: { img: "http://www.mytreedb.com/uploads/mytreedb/loader/ajax_loader_blue_48.gif", msgText: "ロード中..." },
js
1$(document).on('turbolinks:load', function() { 2 $(window).on('scroll', function() { 3 scrollHeight = $(document).height(); 4 scrollPosition = $(window).height() + $(window).scrollTop(); 5 if ( (scrollHeight - scrollPosition) / scrollHeight <= 0.05) { 6 $('.jscroll').jscroll({ 7 loading: { 8 img: "http://www.mytreedb.com/uploads/mytreedb/loader/ajax_loader_blue_48.gif", 9 msgText: "ロード中..." 10 }, #こちらのloadingを追加 11 contentSelector: '.skill-list', 12 nextSelector: 'span.next:last a', 13 }); 14 } 15 }); 16})
お分かりの方、ぜひご教示お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/06 14:06