[解決済み] jQueryを使って「Please Wait, Loading...」というアニメーションを作成するにはどうすればよいですか?
2022-03-16 04:21:40
質問
私のサイトに"please wait, loading"回転する円形のアニメーションを設置したいのですが、可能ですか?jQueryを使用して、どのようにこれを実現すればよいですか?
どのように解決するのですか?
様々な方法でこれを行うことができます。ページ上に小さなステータスとして "ロード中..." を表示するような繊細な方法もあれば、新しいデータのロード中にページ全体をグレーアウトさせるような大げさな方法もあります。以下に紹介する方法は、両方の方法を実現する方法を紹介します。
セットアップ
まず、quot;loading" のアニメーションを作成することから始めましょう。 http://ajaxload.info 今回使用するのは
ajaxリクエストを行う際にいつでも表示/非表示を切り替えることができる要素を作ってみましょう。
<div class="modal"><!-- Place at bottom of page --></div>
CSS
次に、派手さを出してみましょう。
/* Start by setting display:none to make this hidden.
Then we position it in relation to the viewport window
with position:fixed. Width, height, top and left speak
for themselves. Background we set to 80% white with
our animation centered, and no-repeating */
.modal {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba( 255, 255, 255, .8 )
url('http://i.stack.imgur.com/FhHRx.gif')
50% 50%
no-repeat;
}
/* When the body has the loading class, we turn
the scrollbar off with overflow:hidden */
body.loading .modal {
overflow: hidden;
}
/* Anytime the body has the loading class, our
modal element will be visible */
body.loading .modal {
display: block;
}
そして最後に、jQueryの
さて、次はjQueryです。次の部分は、実はとてもシンプルです。
$body = $("body");
$(document).on({
ajaxStart: function() { $body.addClass("loading"); },
ajaxStop: function() { $body.removeClass("loading"); }
});
それだ! イベントを body 要素にアタッチしています。
ajaxStart
または
ajaxStop
イベントが発生します。ajaxイベントが始まると、ボディに"loading" クラスを追加し、イベントが終了すると、ボディから"loading" クラスを削除しています。
実際に見てみましょう。 http://jsfiddle.net/VpDUG/4952/
関連
-
[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] JQueryでラジオボタンがチェックされているかどうかを調べる?
-
[解決済み] jQueryのn番目の要素を取得する方法
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ユーザーがEnterキーを押してフォームを送信できないようにする
-
[解決済み] セレクトした要素の外側のHTMLを取得する
-
[解決済み] Twitter Bootstrapのモーダルウィンドウを閉じないようにする
-
[解決済み] jQueryでtextareaの値を設定する
-
[解決済み] jQueryでフォームフィールドをクリアする
-
[解決済み] jQueryでloading spinnerを表示するには?
-
[解決済み] ボタンやリンクを無効化・有効化する最も簡単な方法とは(jQuery + Bootstrap)
-
[解決済み] jQuery .onとhoverの使い分けは可能ですか?
-
[解決済み】jQueryがリクエストボディに有効なjsonを投稿する。
-
[解決済み】jQueryでRSSをパースする。