1. ホーム
  2. javascript

[解決済み] jQueryでbusyインジケータを表示するには?

2023-07-28 04:07:56

質問

Web ページ内の特定の場所に回転する "busy" インジケータを表示するにはどうすればよいですか?

Ajaxリクエストが開始/完了したときに、インジケータを開始/停止させたいのですが。

それは本当にアニメーションGIFを表示/非表示にするだけの問題なのでしょうか、それとももっとエレガントなソリューションがあるのでしょうか?

どのように解決するのですか?

gifの表示/非表示を切り替えるだけですが、それをajaxSetupに埋め込んで、ajaxリクエストのたびに呼び出されるようにすることもできます。

$.ajaxSetup({
    beforeSend:function(){
        // show gif here, eg:
        $("#loading").show();
    },
    complete:function(){
        // hide gif here, eg:
        $("#loading").hide();
    }
});

一つ注意点として、ローディングスピナーを表示させずに特定のajaxリクエストを行いたい場合は、このようにします。

$.ajax({
   global: false,
   // stuff
});

こうすることで、前に行った $.ajaxSetup が global: false .

詳細はこちらでご覧いただけます。 http://api.jquery.com/jQuery.ajaxSetup