smidl
@smidl
WordPress-разработчик

Как на jquery выровнять блоки в ряду по высоте?

Есть вывод товаров, пусть у каждого товара в списке будет класс .item.

Нужно выровнять эти блоки по высоте. Но вот как сделать это более изящно и вообще какой алгоритм сравнения высот блоков лучше всего использовать?

При этом желательно указывать кратность сравнения. Например, если вывод идёт по 5 товаров в ряд. Значит нужно выравнивать блоки не по максимальной высоте такого же блока, а максимальное значение в каждом ряду.

Ну вот примерно так. Подскажете, пожалуйста правильное решение
  • Вопрос задан
  • 2395 просмотров
Решения вопроса 1
svistiboshka
@svistiboshka
живые веб интерфейсы
$.fn.setAllToMaxHeight = function() {
  return this.height(Math.max.apply(this, $.map(this.children(), function(e) { 
    return $(e).height();
  })));
};

$('.item').setAllToMaxHeight()


вот так я делал в рабочем проекте
$(window).on("load resize", function () {
            var maxHeight = 0;
            $(".equal-group").find(".equal-item").height("auto").each(function () {
                if ($(this).height() > maxHeight) {
                    maxHeight = $(this).height();
                }
            }).height(maxHeight);
        });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Haoss
html-верстальщик
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы