$(document).ready() の実行時に CSS 値は利用可能ですか?
質問:
なぜ$(document).ready でスクリプトを実行すると、コンテンツが動的に配置されるページで遅延が発生したり、誤動作?
答え:
jQuery のリリース ノートとドキュメントによると、$(document).ready() は CSS 値が完全に挿入されるまで待機しない可能性があります。ドム。したがって、すべての CSS ファイルを
に含めることをお勧めします。
説明:
-
非同期 CSS 読み込み: CSS ファイルは非同期で読み込まれます。つまり、JavaScript は CSS の前に実行できます。レンダリングはcomplete.
-
JS 計算に対する CSS の依存関係: 場合によっては、JavaScript 計算は CSS 値に依存して要素の寸法と位置を決定します。これは、CSS 値がまだ利用できない場合に不正確になる可能性があります。
-
ブラウザ固有の動作: 動作質問で観察された問題は、次のような特定のブラウザの動作に関連している可能性があります:
-
Internet Explorer: 特に CSS が上に配置されている場合、外部 CSS が読み込まれるまで JS の実行が停止することがあります。ページ内の JS。
-
その他のブラウザ: CSS が完全に読み込まれていません。
解決策:
$(document).ready() のときに CSS 値が使用できるようにするため実行:
- 常に JavaScript 参照の前に CSS ファイルを含めます。
- 可能であれば、すべての CSS とコンテンツが読み込まれた後、スクリプトをページの下部に移動することを検討してください。
追加メモ:
- ほとんどの場合、CSS を JS の上に配置すると、JS への CSS の依存関係に関連するパフォーマンスの問題が解決されます。
- ただし、非同期リソースの読み込みやスクリプトの実行に関連するブラウザ固有の複雑な動作が引き続き発生する可能性があります。
以上が$(document).ready() は常に最終的な CSS 値にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。