jQuery Equal Heights of Divs

时间:2011-10-03 13:28:26

标签: jquery html css javascript-events

我有两个列,其中包含可拖动和可放置的div。我用了这段代码:

`//Equal Height Divs
        function equalHeight( group ) {
            var tallest = 0;
            group.each(function() {
                var thisHeight = $(this).height();
                if(thisHeight > tallest) {
                    tallest = thisHeight;
                }
            });

            group.each(function() {
                $(this).css( "min-height", tallest );
            } );
        }`

确保将更多div添加到一列,并且列高度越大,第二列的高度也越大。

但是我似乎不知道如何反转这个,所以如果我从一列中移除东西并且两列的div高度应该变小。我知道我已经过于复杂了,所以任何有助于解决我的困惑的人都会非常感激, 感谢

2 个答案:

答案 0 :(得分:1)

只需添加$(this).css("height", "");,即可重置CSS高度属性,以便高度不会超过必要的高度。如果没有set height属性,该元素将缩小到最小高度:

    function equalHeight( group ) {
        var tallest = 0;
        group.each(function() {
            $(this).css({height:"", "min-height":""});
            var thisHeight = $(this).height();
            if(thisHeight > tallest) {
                tallest = thisHeight;
            }
        });

        group.each(function() {
            $(this).css( "min-height", tallest );
        } );
    }

答案 1 :(得分:1)

我想我只是在某种程度上理解你的问题。如果您尝试使用最高元素的高度设置元素的高度,则可以使用此代码。假设您正在处理的元素具有相同的类。

var maxHeight = Math.max.apply(null, $('.common_classname').map(function() {
                return $(this).height();
        }).get());

$('.common_classname').height(maxHeight);