2012-04-23 90 views
0

我有一些不同高度的塊取決於它的內容:JSFiddleJQuery可調整大小不同minHeight

我想允許高度超過內容的高度但不低於它。

這很簡單:

 $(".block").each(function(){ 
      $(this).resizable({ 
       handles: 's', 
       minHeight: $(this).height() 
      });      
     }); 

但一些塊(例如,在4日)已經固定的高度,如果我用上面我的代碼不能使該塊小於它已經是。

是否有任何方法將內容的高度設置爲minHeight以避免出現空白區域並禁止將區塊設置爲小於其內容?

我有一個想法,將所有塊的內容放入另一個div,並將它的高度設置爲minHeight,但也許有另一種方式沒有更改元素的結構?

[UPD] @Eopin 如果我不想要重置的高度我的代碼看起來是這樣的:

 $(".block").each(function(){ 
      tmp = $(this).css('height'); 
      if (tmp != 'auto') { 
       $(this).css('height', 'auto'); 
      } 
      $(this).resizable({ 
       handles: 's', 
       minHeight: $(this).height() 
      });  
      if (tmp != 'auto') { 
       $(this).css('height', tmp); 
      }        
     }); 

它的工作原理和我沒有看到視覺上的變化時,腳本工作,速度也是正常的塊< 50.看起來像解決方案。 我會等待幾天的其他答案,然後關閉我的問題。

回答

0

嘗試通過將其設定取消設置元素的高度屬性爲auto

$(this).css('height', 'auto'); 

如果有史以來塊正在使用的高度屬性,而不是CSS屬性,那麼:

$(this).attr('height', ''); 
+0

謝謝。已更新問題中的改進版本。 – ink 2012-04-23 10:21:25