2012-10-24 34 views
4

嘿,我有包含在其5 div的一個div,我要添加的所有其高度的同時,jQuery的找到所有div孩子的總高度

這是我最終的解決方案使用基於關閉的傑夫回答。謝謝你的協助。沿着這些線路

var ev_totalHeight = 0; 
$("#events > div").each(function(){ 
    ev_totalHeight += $(this).innerHeight(); 
}); 



function events_open() { 
$("#events").animate({ 
"height": ev_totalHeight 
    }, 450); 
} 

$("#events").click(function() { 
events_open(); 
}); 

回答

10

繼承人小提琴:http://jsfiddle.net/yj8sL/2/

$(function(){ 
    var totalHeight = 0; 
    $("#parent > div").each(function(){ 
     totalHeight += $(this).height(); 
    }); 
    alert("Total height of all divs: "+totalHeight); 
}); 

正如你看到的,有5個格,以每個100像素的高度,所以總高度爲500像素。

編輯:你的下一個問題(與動畫)是你不告訴它你使用的是什麼單位(在你的情況下,像素):

$("#events").animate({ 
    "height": ev_totalHeight+"px" 
}, 450); 
+0

你會介意看我的編輯嗎?我試着實現你的建議,但是在工作時遇到了麻煩 – loriensleafs

+0

看我的編輯哥們:) – Jeff

3

東西:

var height = 0; 

$('#events > div').each(function(){ 
    height += $(this).height(); 
}); 

// apply calculated height to another element 
$('#myotherdiv').height(height + 'px'); 
+0

你會如何設置這是另一個div的高度? – loriensleafs

+0

@loriensleafs請參閱編輯。 –

+0

所以我試圖做到這一點,這不應該工作? $(「#container」)。animate({「height」:height },450); } – loriensleafs

0

遍歷所有這些,例如增加高度

var height; 
$("#events").each(function() { 
    height += $(this).height(); 
}); 
+0

爲什麼請打下來? –

+0

我不確定,我沒有把它標出 – loriensleafs

+0

我也被標記了,因爲它錯了 - 你錯過了直接的孩子選擇器:'#事件> DIV' – Jeff

相關問題