2011-05-17 99 views
0

我有一個DIV可以打開到內容的高度,但由於某些原因,沒有內容的div會計算錯誤的高度。高度沒有設置到div的實際高度

第二篇博客入門(Thoma)是一個很好的例子,當展開時。

http://dririser.co.uk/index.php

「數據高度」是108px,但它的DIV的高度設置爲640x360像素。內容工作正常的DIV,它設置了正確的高度,但似乎在沒有內容的DIV上出現錯誤計算。

這基本上是代碼的問題。

將hight設置爲div上的值。

$(".articleSlide").each(function() { 
    var current = $(this); 
    current.attr("data-height", current.height()); 
}); 

設置一個變量,然後應用高度。

+0

請停止在標題中寫標籤。你幾乎完成了25個問題。 :( – 2011-05-17 12:58:39

+0

爲什麼會有這個問題? – Yammi 2011-05-17 13:16:48

+1

Stack Overflow具有標籤功能,可以使主題一致地顯示和索引。標題中的留言板樣式標籤由於此功能而已過時...並且是多餘的! – 2011-05-17 13:18:18

回答

1

你的問題是,這條線:

$(".articleSlide").attr("data-height") 

將只找到.articleSlide類的第一個元素,然後使用該data-height。你希望它找到特定該按鈕元素的data-height,就像你一樣有:

$(this).parent().parent().animate({"height": open_height}, "slow"); 

嘗試:

$(this).parents(".articleSlide").attr("data-height"); 
+0

啊,錯過了,完美的作品,謝謝! – Yammi 2011-05-17 13:17:30

-1

高度()「獲取當前計算的高度匹配元素集中的第一個元素「。

它具有正確的行爲,因爲計算的高度是無的。你需要將這些元素包裝在一個絕對定位的容器中,其中overflow:hidden; height:0;

+0

這不是他的問題。 – Tnem 2011-05-17 12:58:18