2012-05-14 115 views
15

我想用jQuery來設置幾個div的高度都是與最高div相同的高度。基本上我通過div循環並從每個div獲取高度,將最大的一個存儲在變量中。然後我循環遍歷所有這些變量,並將它們的高度設置爲變量。jQuery高度()返回false值

但是,jQuery給我的高度錯誤的值。例如,第一個div的height()函數返回633,但是當我在檢查器中查看它時,它說它是603.我完全不知道爲什麼它會這樣做。它似乎包括填充和邊距,但文檔說它不應該這樣做。

在我的樣式表中,div的高度設置爲auto。如果我給它們一個固定的像素高度,那麼jQuery的height()函數會返回正確的值,但是當它們處於auto狀態時(正如它們需要的那樣)則不會。

該網站提到ictsf.org。注意三列底部的額外空間。

+2

我剛剛證實,這個問題不會發生在Firefox中。它發生在Chrome和Safari中。沒有用IE測試過,因爲IE很爛。 – TGPrankster

+0

這樣一個很好的理由不用IE來測試它。 –

回答

32

的問題與上$(document).ready()運行你的「平衡柱高度」的代碼,這發生之前WebKit是瞭解你的圖像的高度。

因此,最快速的解決方法是運行代碼$(window).load()。或者,更好的是,使用imagesLoaded plugin

或者,在img上設置height屬性可能會解決此問題。

+0

你,先生,是個天才!非常感謝你。 – TGPrankster

+0

已經1小時掙扎了,但是你救了我更多......謝謝! – vaskort