我有一個div,其中包含用戶可以通過拖放進行重新排列的元素數量。另外,他可以從工具欄添加新的元素。我想增加外部div的高度來包裝所有這些元素。現在它們重疊在頁腳上。我所面臨的挑戰是 - 1.如何找到放置在其他下面的元素。所有元素都有相對位置。 2.高度變化需要在元素的下拉處理。如何計算div中的元素在jquery中的高度?
我非常迫切需要解決方案。
謝謝
我有一個div,其中包含用戶可以通過拖放進行重新排列的元素數量。另外,他可以從工具欄添加新的元素。我想增加外部div的高度來包裝所有這些元素。現在它們重疊在頁腳上。我所面臨的挑戰是 - 1.如何找到放置在其他下面的元素。所有元素都有相對位置。 2.高度變化需要在元素的下拉處理。如何計算div中的元素在jquery中的高度?
我非常迫切需要解決方案。
謝謝
也許是這樣的?
var height = 0;
$("div > *").each(function() {
height += $(this).height();
})
我更喜歡'var totalHeight = 0; ();();();(「#container」)。children(); each(function(){ totalHeight + = $(this).outerHeight(); }); alert(「Total Height:」+ totalHeight +「px」);'1)避免命名符合屬性名稱的變量2)outerHeight考慮填充,邊距和邊框 – 2012-01-03 18:19:38
在這種情況下,你可以使用Array.prototype.reduce
方法來簡化的解決方案轉化爲一個單行:
var innerHeight = $("#parentDIV").children().reduce(function(a, b){
return $(a).height() + $(b).height();
});
的降低方法一般是有用的,它是由最現代瀏覽器都支持。爲了確保兼容性,您可以輕鬆地添加方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
最好的辦法是這樣的:
爲DIV
var divToShow = " < div id='addNEWpop' > ";
第一創建元素然後把它所有的元素,那麼其附加到你的身體
$(document.body).append(divToShow);
現在讓我們得到DIV的高度
heightS=$('[id^="addNEWpop"]').height();
告訴你它是使CSS之前
$("#addNEWpop").css({width:"400px",height:heightS+"px",display: "none", })
最後
$('[id^="addNEWpop"]').show("slow");
什麼具有u迄今所做的?..讓我們看到html和代碼編寫.. – Kai 2010-07-01 10:43:24
瀏覽器應對此進行處理...爲什麼不是?你必須有一些明確的樣式,外部div不*已經*伸展到它的內容,你可以張貼嗎? – 2010-07-01 11:08:30