質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

829閲覧

ロード中の表示場所を指定したい

tomtom1

総合スコア168

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/04/06 14:04

編集2020/04/07 11:32

###実現したいこと
ロード中の表示場所を指定したいです。
以下のコードのように、loadingHtmlにてクラスloadingのdivで囲いました。
そして、cssにてloadingに対し、位置をしてしているのですが、反映されません。
現在、ページの最下部に表示されてしまうのですが、最下部から少し上の中央に表示させたいです。

そもそも、loadingHtmlにてあるクラスをもったdivで囲わせ、そのクラスにcssで指定する方法が誤まっているでしょうか?

###コード

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 loadingHtml: '<div class="loading"><i class="fa fa-spinner">Now Loading...</i></div>', 10 top:200 11 }); 12 } 13 }); 14})

css

1.loading { 2 position: absolute; 3 top: 50%; 4 left: 50%; 5 width: 100px; 6 height: 100px; 7 margin: -50px 0 0 -50px; 8 line-height: 100px; 9 font-size: 56px; 10 color: #fff; 11 text-align: center; 12 background-color: rgba(#000,.7); 13 @include border-radius(10px); 14} 15.loading i{ 16 font-size: 56px; 17} 18

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$(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 autoTrigger: true, 8 loadingHtml: '<div class="loading"><i class="fa fa-spinner">Now Loading...</i></div>', 9 padding: 30, 10 contentSelector: '.skill-list', 11 nextSelector: 'span.next:last a', 12 }); 13 } 14 }); 15})

###追記2
https://qiita.com/yokoto/items/c4490aed75c75dbf687a
上記サイトを参考に再度試しました。
しかし、<p class="infinite-scroll-request">読み込み中...</p>が最下部に表示されるのみで、自動スクロールの反応は得られませんでした。

js

1$(document).on("turbolinks:load", function() { 2 if ($("nav.pagination a[rel=next]").length){ 3 $(".jscroll").infiniteScroll({ 4 path: "nav.pagination a[rel=next]", 5 append: ".jscroll ul", 6 elementScroll: true, 7 history: true, 8 prefill: false, 9 status: ".page-load-status", 10 hideNav: ".pagination" 11 })

view

1<ul class="skill-list jscroll"> 2 <% @posts.each do |post| %> 3 <p><%= post.title %></p> 4 <% end %> 5 <%= paginate @posts %> 6</ul> 7<div class="page-load-status"> 8 <p class="infinite-scroll-request">読み込み中...</p> 9</div>

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ぼくのように英語が苦手な人の実装作業の流れ


①Qiitaなどの記事をみて実装する
↓ だめな場合
②他の記事をみて実装する
↓ だめな場合
③公式を見る。(だいたい解決する)
↓ だめな場合
④StackOverflow・StackExchangeを見る。

①〜②ではバージョンアップで実装方法が変わっていたりするためうまくいかないことがあります。
また③の公式を見るときはQ&A、Githubならissueまで見るとより良いかと思います。


前置きが長くなりましたが下記でいかがでしょうか?
jscroll公式:Padding

投稿2020/04/06 15:00

編集2020/04/07 09:23
no1knows

総合スコア3365

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomtom1

2020/04/06 15:13

ご回答ありがとうございます!paddingを追加していたのですが、反応が得られなかったため、topに変更したりと試してました! 公式を見る限り、This only applies when autoTrigger is set to true.がありましたので、加えましたが、まだ思うような反応が得られずにおります。取り急ぎ現在のコードを追記しました。
tomtom1

2020/04/06 15:53

$(document).on('turbolinks:load', function() { $(function { $('.jscroll').jscroll({ autoTrigger: true, loadingHtml: '<div class="loading"><i class="fa fa-spinner">Now Loading...</i></div>', padding: 30, contentSelector: '.skill-list', nextSelector: 'span.next:last a', }); } }); })
tomtom1

2020/04/06 15:55

実装したことがないにも関わらずアドバイスありがとうございます。 ⇧こういうことでしょうか? そのようにすると、jscoll自体の反応が得られず、ページ更新なりません。
no1knows

2020/04/06 22:28 編集

お手間を取らせて申し訳ないです。 下記リンクで実装している例があるようなので一度やってみてはいかがでしょうか? https://qiita.com/yokoto/items/c4490aed75c75dbf687a また反応が得られないの場合、Chromeのconsoleにエラーは出ていないでしょうか?
退会済みユーザー

退会済みユーザー

2020/04/06 22:54

大体は overflow の検索結果がでてくることが多いがそれ以外のQAサイトのも含まれるから
no1knows

2020/04/07 09:24 編集

StackExchangeも(念のため)追加しました。
tomtom1

2020/04/07 11:58

no1knowsさん ありがとうございます!!ようやく解決しました!! 先ほどお教え頂いたサイトを試した結果は追記2に記入しました。 loadingHtmlにてクラスloadingのdivで囲い、.loadingに対し、cssで位置を支持する方法ですが、別アプリのcssに記入していたことにより位置が変わらなかたという初歩中の初歩の誤りでした。こんなに時間を使ってしまい自分に呆れました。 また、autoTrigger: true,を追加し、paddingに数値を入れるということも試しに行ったのですが、私のコード上では反応が位置は変わりませんでした。なぜだろう..。 改めて、お時間をさいてくださりありがとうございます!
no1knows

2020/04/07 12:42

なにはともあれ解決して良かったです。 将来同じようなことで困った方のためになるので追記ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問