ページ上のすべての画像が読み込まれると、コールバックを呼び出すjQuery プラグインを使用しています。プロパティをチェックしimageObject.complete
、ハンドラーをload
およびerror
イベントにバインドして、画像の読み込みがいつ完了するかを判断します。
これはうまく機能しますが、私が直面している問題は、画像が読み込まれていると見なされていても、画像またはそれを含む要素のプロパティheight
とプロパティを調べたときに、寸法がまだ更新されていないことです。width
div
次に例を示します。
含まれている要素が画像にheight
合わせてサイズ変更されていることを確認してから、その要素とwidth
寸法にアクセスすることを試みるにはどうすればよいですか?
編集 1:例を理解しやすくするために、jsfiddle のコードをクリーンアップしてコメントしました。
編集 2:別のマシンからコードを実行すると、適切に動作する (つまり、トップ マージンが適切に計算される) ため、キャッシュに基づく競合状態またはバリエーションが存在する必要があります。これは、一貫性がないため実際には良くありません。矛盾は、Chrome、FWIW でより顕著です。
また、明確にするために、目標はinit
画像が読み込まれるたびに呼び出すことではありません。むしろ、 AJAX呼び出しを介してすべての画像が読み込まれた後に一度init
呼び出す必要があります。load