0

我有一些不同高度的块取决于它的内容:JSFiddle

我想让高度大于内容的高度,但不能小于它。

这很简单:

        $(".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 的速度也很正常。看起来像解决方案。我会等几天等待其他答案,然后关闭我的问题。

4

1 回答 1

0

尝试通过将其设置为取消设置元素的高度属性auto

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

如果这些块使用的是 height 属性而不是 css 属性,那么:

$(this).attr('height', '');
于 2012-04-23T09:32:09.177 回答