我將div1追加到div2中,然後獲取div2的高度()。如果我在調用height()之前等待50ms,我會得到不同的高度。好像我在瀏覽器完成渲染div1之前獲得高度。任何人都有一個想法,我可以如何解決這個問題。我添加了很多元素,並且需要在每個元素之後檢查高度,因此每個元素之間的延遲看起來可能會加起來很大的延遲。Element.height()不正確,因爲瀏覽器還沒有完成渲染?
$(div2).append(div1);
console.log(div2.height()) // 295
where as...
$(div2).append(div1);
window.setTimeout(function(){
console.log(div2.height()) // 245
},50)
http://stackoverflow.com/questions/19737762/how-to-determine-when-a-browser-has-的可能的複製完成繪畫插入元素 –
我有一個遊戲相同的問題,你需要延遲加載/ documentready。 – ZiTAL
您需要等待元素完成加載,或者您需要找出事先未確定其高度的原因。在字體渲染(如Typekit或Google字體)的情況下,可以做的不多,只能等待。對於您的內容,您可以將高度值設置爲和其他元素,以便瀏覽器在繪製dom之前知道它們的尺寸。 –