別の要素の高さに基づいて要素の高さを設定する必要があります。その要素のレンダリングが終了したとき、高さが 490px であるとしましょう。
内部の関数の先頭でその他の要素の高さを照会すると、$(document).ready()
432px が返されます。
内の他の要素の高さを照会するとsetTimeout(function, 100)
、約 475px が返されます。
最大でsetTimeout
150 程度まで上げると、要素のレンダリングが終了し、190 になります。しかし、明らかにこれを当てにすることはできません。
可能であれば、ページ全体の読み込みが完了するまで待ちたくありません。この要素だけを待ちたい。
イベントは任意の要素で動作するはずのようですload
が、私が知る限り、それはブラウザ、または少なくとも Chrome では実装されていません。
EDIT : 要素は画像ではなく、(ほぼ確実に) 要素内に画像が存在することはありません。それは<div>
、他<div>
の s と<p>
s とその中にあるものだけです。高さは、CSS が適用されている最中などに照会されているようです。コードサンプルは近日公開予定です。
EDIT 2:これは私のサイトからハッキングされたフィドルです。(恐ろしいマークアップを許してください。私はまだ Drupal の出力をクリーンアップしていません。) ただし、修正しようとしている悪い動作はフィドルには見られません。これは、Javascript の関連部分が処理される前にスニペット全体がレンダリングされるためです。走る。
これを行う方法はありますか、それとも私は立ち往生していwindow.onload
ますか?