行中的等高列

时间:2013-03-27 19:30:22

标签: javascript jquery html

我正在尝试使用fitHeights(http://codepen.io/davatron5000/pen/fIqnF)来平衡列的行,但我无法分别为每行计算高度。有没有人对如何修改它来计算每行最高的容器有任何想法?

这是我正在使用的例子。 http://codepen.io/FernE97/pen/rzfid。现在它正在计算高度,但是它从最高的4个而不是每行中的最高点开始。

(function ($) {
    'use strict';

    $.fn.fitHeights = function () {

        var items = $(this);

        function setHeights() {
            var currentTallest = 0;

            items.css({ 'min-height' : currentTallest }); // unset min-height to get actual new height

            items.each(function () {
                if ($(this).outerHeight() > currentTallest) { currentTallest = $(this).outerHeight(); }
            });

            items.css({ 'min-height' : currentTallest });
        }

        setHeights();
        $(window).on('resize', setHeights);
        return this;
    };

}(jQuery));

// on load
jQuery(window).load(function ($) {

    $('.fitheights .module').fitHeights();

}(jQuery));

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助,但请查看我所做的更新的codepen - 基本上我创建了一个sameHeights函数并在图像上放置一个高度,希望这对你有所帮助 http://codepen.io/anon/pen/fslvc

js

  $.fn.sameHeights = function() {
    $(this).each(function(){
        var tallest = 0;
        $(this).children().each(function(i){
            if (tallest < $(this).height()) { tallest = $(this).height(); }
        });
        $(this).children().css({'height': tallest});
    });
    return this;
}; 

 $(window).load(function(){
/* $(groupOfItems).fitHeights(); */
 $('ul').sameHeights();
});

CSS

img { max-width: 100%; height:300px; }