2009-09-30 58 views
2

我使用此代碼,用於均衡列:維持在調整大小相等的高度(jQuery的)

jQuery.fn.equalHeight=function() { 
var maxHeight=0; 
this.each(function(){ 
if (this.offsetHeight>maxHeight) {maxHeight=this.offsetHeight;} 
}); 
this.each(function(){ 
$(this).height(maxHeight + "px"); 
if (this.offsetHeight>maxHeight) { 
    $(this).height((maxHeight-(this.offsetHeight-maxHeight))+"px"); 
} 
}); 
}; 

..does一份體面的工作,但我有一個摺疊式菜單,這些列的其中一個滑動輸入/輸出改變列的高度,equalheight不會很好。每次調整大小時是否可以均衡這些列?

謝謝堆!

+0

即使setTimeout和setInterval的嘗試,不能正常工作。 :-( – 3zzy 2009-09-30 16:26:45

回答

4

好吧,這個偉大的工程跨瀏覽器:

(function($) { 

    $.fn.equalHeight = function(){ 
     var height = 0, 
      reset = $.browser.msie ? "1%" : "auto"; 

     return this 
      .css("height", reset) 
      .each(function() { 
       height = Math.max(height, this.offsetHeight); 
      }) 
      .css("height", height) 
      .each(function() { 
       var h = this.offsetHeight; 
       if (h > height) { 
        $(this).css("height", height - (h - height)); 
       }; 
      }); 

    }; 

})(jQuery); 
相關問題