【WordPress対応】jQueryを読み込まないときは実行順序が違うかも?
- jQueryを使って要素に高さや横幅などを設定したいが何故が設定できない。
- jQueryは動作しているのにタグにスタイルが反映されない。
jQueryを読み込まないときは実行順序が違うかも
何でもかんでも初めたばかりの頃はどの関数から実行されるのかを意識せずに書き進めていることが結構あります。 読み込めないから諦めることもしばしばあるかもしれませんね。 この記事でそのようなことが無いようにしっかりと実行順序について確認してみて下さい。jQuery(document).ready(function(){ //処理 });
問題
以下のjQueryの書き方はそれぞれどのような順番で実行されるでしょうか?jQuery(function(){ //処理 });
jQuery(function(){ //処理 });
正解は全部同じです。 次にこちらはどうでしょうか?jQuery(document).ready(function(){ //処理 });
正解はHPが読み込まれた後に実行されます。jQuery(window).load(function(){ //処理 });
ページの読み込み順序
WordPressでは以下の順番でHPが読み込まれてゆきます。-
- WordPressのphpがロードされる
-
- HTMLの読み込み(DOM)が終わる
-
- jQuery(document).readyが実行される
-
- 画像など含めすべてのコンテンツの読み込みが終わる
-
- jQuery(window).loadが実行される
結論
画像等の大きさを指定するときはコンテンツのすべてが読み込み終わった後に実行されるこちらを利用して処理を書くとうまくいきます。jQuery(window).load(function(){ //処理 });