[解決済み] jQuery に何かを実行する前にすべての画像の読み込みを待つように指示する公式な方法
質問
これを実行するとjQueryでは。
$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});
DOMが読み込まれるのを待ち、コードを実行します。もしすべての画像が読み込まれていない場合でも、コードは実行されます。これは明らかに、要素の表示や非表示、イベントのアタッチなど、DOM を初期化する場合に必要なものです。
しかし、例えば、アニメーションを行いたい場合、すべての画像が読み込まれるまでアニメーションを実行させたくないとします。jQueryでこれを行う公式の方法はありますか?
私が持っている最も良い方法は
<body onload="finished()">
でも、どうしても必要なとき以外は、あまりやりたくないんです。
注
jQuery 1.3.1でのバグ
の中のコードを実行する前に、すべての画像が読み込まれるのを実際に待つことになります。
$function() { }
. そのため、そのプラットフォームを使用している場合、上記の正しい動作ではなく、私が求めている動作が得られることになります。
解決方法は?
jQueryでは
$(document).ready()
を指定すると、何かを実行します。
DOM
が読み込まれ
$(window).on("load", handler)
で、画像など他のものもすべて読み込まれたときに何かを実行します。
この違いは、次のような完全なHTMLファイルであれば、たくさんの
jollyrogerNN
JPEGファイル(または他の適切なもの)。
<html>
<head>
<script src="jquery-1.7.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert ("done");
});
</script>
</head><body>
Hello
<img src="jollyroger00.jpg">
<img src="jollyroger01.jpg">
// : 100 copies of this in total
<img src="jollyroger99.jpg">
</body>
</html>
この場合、画像が読み込まれる前にアラートボックスが表示されますが、これはその時点でDOMの準備が整っているためです。その後、変更した場合。
$(document).ready(function() {
に入っています。
$(window).on("load", function() {
が表示されるまで、アラートボックスは表示されません。 後 が読み込まれます。
したがって、ページ全体の準備が整うまで待つには、次のような使い方が考えられます。
$(window).on("load", function() {
// weave your magic here.
});
関連
-
[解決済み] jQueryのイベントハンドラを削除する最良の方法?
-
[解決済み] jQuery の Ajax リクエストがすべて終了するまで待ちますか?
-
[解決済み] 複数のクラスを削除する(jQuery)
-
[解決済み] jQueryでチェックボックスの値を取得する
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] jQueryでオブジェクトに登録されたイベントハンドラを検索する
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み] jQueryで、ある要素を他の要素に対して相対的に配置するには?
-
[解決済み】jQuery:keyPress Backspaceが発射されない?
-
[解決済み] jQueryで<input type="text">のonchangeを実装するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught SyntaxError: 予期しない入力の終了
-
[解決済み] jQueryのpreventDefault()が発動しない
-
[解決済み] jQueryです。簡単なオーバーレイを作成するにはどうすればよいですか?
-
[解決済み] jQuery に何かを実行する前にすべての画像の読み込みを待つように指示する公式な方法
-
[解決済み] 既存の非順序型リストにリストアイテムを追加する方法
-
[解決済み] JSONPとは何か、素人目にもわかるように説明してくれる人はいませんか?[重複)。
-
[解決済み] jQuery セレクタ。Id Ends With?
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み] jQueryで多段式フォームをリセットする
-
[解決済み】jQueryで画像が読み込まれたかどうか(エラーにならないか)確認する。