【javascript】ajaxを利用しない場合のローディング画像の出し方

この記事について

環境javascript
目的ajaxを使わない重い処理でローディング画像を出す
結果setTimeout でいったん関数を終わらせてから重い処理をする

つまずきポイント要約

  • javascriptは関数の実行中に画面の書き換えが起こらない(実行キューが空になってから描画される)

ぐるぐる回るローディング画像の具体的な表示の仕方についてはこちらを参考

ajaxありの場合

dispLoading("処理中..."); //ローディング画像を表示するユーザー定義関数

//ajax処理

removeLoading(); //ローディング画像を消すユーザー定義関数

ajaxなしの場合

dispLoading("処理中...");


//javascript で描写が画面に反映されるタイミングは、関数の実行が終わってから。
//そのため、ローディング画面を表示させるために一旦ここで関数を終わらせる。
setTimeout(function() {

    //時間がかかるjavascriptの処理(ajaxでない)。

    removeLoading();
}, 0);

javascriptは、関数の実行中にページの書き換えは起こらない。関数の実行キューが空になって時点ではじめてページの書き換えが起こることに注意。

参考サイト

タイトルとURLをコピーしました