JavaScriptで、時間のかかる処理をする前に「お待ちください」のメッセージを
表示させたいと思っています。
function wait{
$("#WaitMsg").html("お待ちください…");
Test(); ←時間がかかるメソッド
$("#WaitMsg").html("完了しました");
}
上記で実行してみたんですが、画面上に「お待ちください」の
メッセージが出る前に、時間がかかるメソッドが実行されているのか、
画面上の表示が変わらず困っています。
まず、メッセージが出る→処理が実行される→完了しましたメッセージと
したいのですが、どうしたら良いのでしょうか?
Ajax通信時にwaitメッセージを表示させる類のものは散見するのですが、
このTest();の処理はAjax通信ではない(単純な計算とかタグの書き換えとか
そういう類です)ので困っています。
ご教授ください。
No.4ベストアンサー
- 回答日時:
<body>
<p id="mess" style="display:none">ちょっと、待てよ~</p>
<script>
function test () {
n = 1000;
var i, j, k;
for (i = n; i--; )
for (j = n; j--; )
for (k = n; k--; ) ;
return;
}
function wait (func) {
var cbFunc = function () {
setTimeout (func, 5);
setTimeout ("mess(0);", 5);
};
mess(1);
setTimeout (cbFunc,5);
}
function mess (state) {
document.getElementById ('mess').style.display = state ? 'block': 'none';
}
wait (test);
</script>
No.3
- 回答日時:
ANo1です。
ダメですか…
では、試しに alert() を入れたらどうなるのでしょうか?
function wait{
$("#WaitMsg").html("お待ちください…");
//試しにalert
alert("test");
Test(); ←時間がかかるメソッド
$("#WaitMsg").html("完了しました");
}
これなら、表示できますか?
No.2
- 回答日時:
画面表示を更新する処理が必要なのかもしれません。
>$("#WaitMsg").html("お待ちください…");
の後に、
win.refresh();
を入れてみたらどうでしょうか。
参考
http://www.openspc2.org/JavaScript/Ajax/ref/Prot …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- gooメール メールアカウントにログインはできますが、メールボックスにアクセスできません。 1 2023/07/09 14:33
- その他(IT・Webサービス) PCを立ち上げ時いつも同じ画像が出ます(トラブル発生、終了) 2 2022/04/23 12:46
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- LINE LINEの着信通知音が時々鳴らない、通知メッセージも来ない原因がよく分かりません。 2 2022/04/01 23:37
- LINE LINEのグループについて トーク画面を開くと 「 〇〇からグループに招待されました。このユーザーを 1 2022/12/07 14:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
functionから別のfunctionを実...
-
idを使わずにonclickで自身の要...
-
jQueryのプラグイン「Skitter」...
-
getElementByIdで同時多数取得
-
小数点以下を5刻みで表示
-
関数でy=g(x)のgとは何の略です...
-
処理前の「お待ちください」
-
無名関数を使うメリットは何で...
-
var exports = exports || {}; ...
-
codejump 模写コーディングgall...
-
jspからjavascriptの変数引継ぎ
-
同じIDで定義した要素の配列を...
-
文字を一文字ずつ表示
-
ASP.NETのコントロールの値をJa...
-
配列の1要素を代入した変数を使...
-
C#テキストボックスの文字を配...
-
onclickを使わずにイベント処理...
-
GASでundefinedエラーが出ます
-
このjavascriptのif文、条件式...
-
<a>タグのテキストを取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
functionから別のfunctionを実...
-
idを使わずにonclickで自身の要...
-
addEventListener()でリスナー...
-
クリックすると上に開くアコー...
-
関数でy=g(x)のgとは何の略です...
-
jQueryの :not() .not() が有効...
-
要素名がスペースを含む場合のj...
-
jQueryの"return false"の役割...
-
jslintのエラーについて質問
-
jqueryの変数を関数の外に出す方法
-
XMLHttpRequestでキャッシュを...
-
JAVAスクリプトで指定時間以降...
-
処理前の「お待ちください」
-
jquery 複数のメソッド
-
関数名をテキストから読み込む...
-
コードをスマートにさせたい。
-
オンマウスでテキストを表示す...
-
jQueryでのレスポンシブが綺麗...
-
getElementByIdを使用したグロ...
-
jqueryのajax()内からグローバ...
おすすめ情報