2012-10-21 77 views
0

好的。所以我使用下面的代碼來調整divs高度,但是因爲設計是流暢的(我不希望它被修復)。它運行良好,但一旦高度變化而不重新加載頁面,高度將會有錯誤的值。jQuery檢查高度是否改變

所以,我需要添加一些檢查,如果高度已經改變,然後更新它沒有頁面重新加載。 我只想要jQuery解決方案,請不要提交任何CSS解決方案,因爲腳本也將用於不是其他孩子或父母的div。

$("#conten_area .sticky_note:has(.right_panel)").each(function (index, value) { 
    var $this = $(this); 
     current = $this.height(); 
     current = current+22; 

     $this.find(".right_panel").height(current); 

}); 
+0

您可以檢測瀏覽器調整大小,但你不能可靠地聽DOM的變化,除非你不支持IE瀏覽器。 –

回答

1

以下應該做你所需要的。除非您創建自定義事件並從其他代碼觸發它來運行resizePanels函數,否則沒有偵聽器可用於其他代碼或用戶交互所做的更改。

function resizePanels() { 
    $("#conten_area .sticky_note:has(.right_panel)").height(function(index, height) { 
     $this.find(".right_panel").height(height +22); 
    }); 
} 

/* resize panels when window resized*/ 
$(window).resize(function(){ 
    resizePanels(); 
}) 

/* resize panels on page load*/ 
$(function(){ 
    resizePanels(); 

}) 

+0

謝謝charlietfl :) – Victor