我目前有一個div,就像是一個「畫廊」可以這麼說。使用JQuery控制div的高度
div #Images {
max-height:90%;
height:500px;
position:relative;
overflow:hidden;
}
由於這個div的性質,我必須給它一個高度,否則圖像不顯示。我想要做的事情是使用JQuery將高度設置爲列表中最高圖像的高度。所以我這樣做:
jQuery(document).ready(function($) {
$(document).ready(function() {
var imageHeight = 0;
$("#wrap").find("img[id*='car_']").each(function(i) {
if (imageHeight < $(this).data('origHeight'))//.height())
imageHeight = $(this).data('origHeight');
});
if (imageHeight > 0)
$("#Images").css('height', imageHeight);
else
$("#Images").css('height', 500);
});
});
不幸的是,imageHeight永遠不會成爲什麼,但0這裏是踢球....如果我添加警報(imageHeight);在.each()的第一次是0,但每次在它後面填充適當的值....我假設由於彈出中斷代碼一段時間,瀏覽器已有時間完全加載所有圖像並抓住適當的高度。
可惜我不是要離開彈出在那裏只是爲了妥善每次填充我的身高。
我在做什麼錯?
嘗試使用$(窗口).load()。它等待圖像完成加載,而$(document).ready()僅等待DOM完成。 – JesseBuesking
你有'// height()',你正在分配DOM包裝器,而不是下一行的高度 – Halcyon
我試過.height()以及.data()都返回相同的東西。 $(window).load()是它做的。謝謝。 – MajinSephiroth