- 締切済み
NowLoadingの設置
お世話になります。 javascript初心者ですが宜しくお願いします。 ページが移動する際に『NowLoading』と表示されるようにしたいのですが、window.onloadを使うと次の画面が出てからしか表示されません… 私の作ったページ(PHP)の場合、次の画面を読み込むのに時間がかかるためステータスバーに『 *** の応答を待っています』と出るのですが、そのときに『NowLoading』を表示させたいのです。 このとき1ページ目の画面が出たままで2ページ目は表示されていません。 oncickを使う事も考えたのですが、応答待ちを調べる方法はないかと思い質問させていただきました。 簡単な解説ページなどご存知でしたら教えていただければ幸いです。 どうぞ宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
次の画面表示のきっかけは、リンクをクリックということでいいのでしょうか? <a>タグにonclickを設定してJavaScriptを実行すると、リンクのロード前にScriptが実行されますので、ScriptでNowLoadingを表示するようにしておけばいけます。 NowLoadingの表示は、通常は非表示のブロックをつくっておいてScriptで切り替えるとか、別ウィンドウを開いて表示するとかいろいろ考えられます。 とりあえず、別ウィンドウの例を。 <a href="test.html" onclick="mesDisp();">testへ</a> などとしておいて・・・ <script type='text/javascript'> <!-- function mesDisp() { var w =window.open("about:blank","Message","width=300,height=200"); w.document.writeln("<html><body><b>NowLoading!</b></body></html>"); } //--> </script> サイズとかは適当です。1行目のabout:blankをNowLoading表示用のhtmlにしておけば、2行目のw.document.writeln~は不要です。 次画面のソースのonloadでMessageウインドウをクローズするようにしておけば、読み込み終了時にクローズされます。 (もちろん、別ウィンドウ以外の方法で表示するならば、クローズの処理は不要になります。)
お礼
リンクタグの前に設置する事で無事に思っていた動作をするようになりました。 新しいウインドウを作っての方法は考えていなかったのですが、この方法を使っても面白そうですね。 色々と勉強になりました。 ありがとうございます。