技術資料

非同期通信中に「Now Loading」アニメーションを表示する方法

作成日:2010.08.10

jQueryを使った非同期通信(Ajax)処理中に、待機状態を示す「Now Loading」アニメーションを表示させる方法を解説します。シンプルなコードで、通信中にユーザーへ視覚的なフィードバックを提供できるため、利便性が向上します。

error この記事は最終更新日から14年以上が経過しています。

jQuery で非同期通信処理をしている間に「Now Loading」的なアニメーション画像を表示する、というのはよくあるパターンですが、その方法の解説です。

ローディング中の画像を表示するスクリプト

例えば、以下のような html の id="message" の内容を Ajax によって変更したい場合。

<p id="message">ここのメッセージが非同期通信後に変更されます。</p>
<form method="GET" action="#">
  <input type="button" value="ここをクリックでメッセージ変更" onclick="ChangeMessage();">
</form>

この時、function ChangeMessage() の中身は通常以下のようになります。

function ChangeMessage(){
	$.post(
		// 通信先URL
		"./message.cgi",
		// 送信するデータ
		{
			hoge:"huga"
		},
		// 返った結果の処理
		function(data){
			$("#message").html(data);
		}
	);
}

で、 message.cgi から結果が帰ってくるまでの間に「Now Loading」的な GIFアニメアイコンなんかを表示したければ、単に $.post (); の直前で、id="message" の中に GIFアニメアイコンを表示するようにすれば良いだけです。
結果が帰ってくれば、id="message" の中身はそのレスポンス内容に変更されますからね。

というわけで、

function ChangeMessage(){
	$("#message").html('<img src="loading.gif" width="10" height="10" alt="Now Loading..." />');
	$.post(
		"./message.cgi",
		{
			hoge:"huga"
		},
		function(data){
			$("#message").html(data);
		}
	);
}

みたいな感じの一行を追加すれば良いわけです。

ローディング中の画像の作り方

簡単にローディング中の GIFアニメアイコンを作れるサイトがあったので、ついでにご紹介。

Load Info - gif generator で、色々と Now Loading なアイコンを簡単に作ることができます。

この記事を書いた人

※上が私です。

奈良市を拠点に、25年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。

これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。

【制作会社・企業様向けサポート】
  • 専任エンジニアのいない企業様に対するシステム面の不安を解消
  • 柔軟な契約形態や短納期での対応により、急なニーズにも迅速にサポート
  • システムの企画段階から運用まで、ワンストップでのサービスを提供

Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。

ぜひ、プロフィールWeb制作会社様向け業務案内一般企業様向け業務案内もご覧くださいね。

チェックボックス操作のためのjQuery基本メモ

2025.02.05

jQueryを使ってチェックボックスの状態を操作するための基本的なコードをまとめています。フォームやインタラクティブなUIを作成する際に役立つ内容です。

JavaScript jQuery

jQueryでフォームのreadonly属性を操作する方法

2025.02.04

jQueryを使ってフォーム要素のreadonly属性を動的に操作する方法について解説します。readonlyの設定と解除の手順をシンプルにまとめました。

JavaScript jQuery

ダッシュボードのパフォーマンス改善:Ajaxとiframeの実践例

2024.12.11

サーバーサイドですべてを処理してから画面を出力するのではなく、データを分割して効率的に表示する手法をご紹介。Ajaxとiframe、それぞれの特徴や実装例をわかりやすく解説します。

HTML JavaScript jQuery

contenteditableで作るインライン編集システムとデータ送信の仕組み

2024.12.03

contenteditable属性を利用すれば、HTML内のテキストを直接編集できるインターフェースを構築できます。 本記事では、contenteditableを活用したインライン編集機能の実装手法について解説します。 UIの向上を目指す際の参考として。

CSS HTML JavaScript jQuery

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP