Высота jQuery ()не меняется при изменении размера

У меня никогда не было этой проблемы раньше, но я не могу найти решение, поэтому я надеюсь, что вы, ребята, сможете мне помочь.

jQuery

function setTheHeight() {

    if( $('#main.level1.block.attention.block-content').length ) {
        //Get value of highest element
        var maxHeight = Math.max.apply(Math, $('#main.level1.block.attention.block-content').map (
            function() {
                return $(this).height();
            }
        ));
        console.log(maxHeight);
        $('#main.level1.block.attention.block-content').height(maxHeight);
    }
}

setTheHeight();

$(window).resize(function() {
    setTheHeight();
});

По сути, эта функция проверяет самый высокий div и устанавливает высоту всех выбранных div на эту высоту. Это прекрасно работает.НО это адаптивный дизайн, поэтому, когда пользователь изменяет размер своего браузера, содержимое становится меньше, а div выше. Поэтому я добавил событие изменения размера. Событие запускается, но не меняет высоту. Любая идея, почему изменение размера не меняет высоту?

Быстрый jsFiddle, чтобы показать, что происходит:http://jsfiddle.net/3mVkn/

ИСПРАВИТЬ

Хм, это было просто глупо. Поскольку я устанавливал высоту (), она уже была исправлена, поэтому все, что мне нужно было сделать, это просто сбросить высоту, и все заработало.

Обновленный код:

function setTheHeight() {

    if( $('#main.level1.block.attention.block-content').length ) {

        //Reset height
        $('#main.level1.block.attention.block-content').height('auto');

        //Get value of highest element
        var maxHeight = Math.max.apply(Math, $('#main.level1.block.attention.block-content').map (
            function() {
                return $(this).height();
            }
        ));
        console.log(maxHeight);
        $('#main.level1.block.attention.block-content').height(maxHeight);
    }
}

setTheHeight();

$(window).resize(function() {
    setTheHeight();
});

6
задан Rob 6 April 2013 в 11:45
поделиться