2012-04-23 89 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