今回はAjaxの通信中は、gifアニメーションのローディング画像とオーバーレイで表示した背景の上に載せる方法です。
一般的に見かける方法ですが、結構簡単に実装できるのでもし良かったらぜひチャレンジしてみてください。
😎 ローディング画像gifアニメーションの調達
gifアニメーションのローディング画像は次のサイトなどで無料で簡単にダウンロードできます!
Preloaders.net - AJAX loading GIF and APNG spinners, bars and 3D animations generator
ダウンロードしたら、app/assets/images
配下のフォルダに保存。
🐯 Gemのインストール
次に『Colorbox - a jQuery lightbox』の入ったgem『stevo/colorbox-rails』をインストール。
Gemfile
に下を追加して、bundle install
を実行してください。
gem 'colorbox-rails' |
🐡 colorbox-railsの読み込み設定
app/assets/stylesheets/application.css
に以下を追加。
*= require colorbox-rails |
app/assets/javascripts/application.js
に以下を追加。
//= require colorbox-rails |
🚌 viewにローディングの記述を追加
次のコードをapp/views/layouts/application.html.haml(ERB)
に追加。
さらにCSSに次のコードを追加。
.loading { |
でもって、Ajaxの実行時にローディング画像が表示されるようにcoffescriptファイルに以下を追加。
$ -> |
これでAjaxで通信が実行されて完了するまでローディング画像が表示されます!
🎉 参考リンク
[jQuery]ローディング中gifアニメーションを画面全体にかぶせる(オーバーレイ)
🐞 変更来歴
(07-02 20:50) 新規作成