调整大小后更新元素的高度

时间:2015-12-13 22:22:40

标签: javascript jquery resize height

如何在调整大小事件后知道元素的高度?我使用jQuery的函数.height(),我有一个500ms的计时器,然后使用我的调整大小函数,但函数.height()仍然在调整大小之前返回高度。

$(window).resize(function() {
    window.clearTimeout(timerResize);
    timerResize = setTimeout(recalculateAll, 1000);
});

function recalculateAll() {
    console.log('resize');
    setOpenClose('.auteurs .block');
}

function setOpenClose(target) {
    $(target).each(function() {
        $(this).data('height', $(this).height());
        $(this).height($(this).height() - ($(this).find('p').height() + 45));
    });
    sameHeights(target);
}

function sameHeights(target, locus) {
    if (locus === undefined) {
        locus = target;
    }
    var heightMax = 1;
    $(target).each(function() {
        if ($(this).height() > heightMax) {
            heightMax = $(this).height();
        }
    });
    $(target).each(function() {
        $(this).height(heightMax);
    });
}

希望我的问题是可以理解的,因为我的近似英语,以及我是新的发展事实。

1 个答案:

答案 0 :(得分:0)

您应该能够在调整大小回调中调用检索元素的高度。

$(window).resize(function(){
    var itemHeight = $('.item').height();
});

请参阅https://jsfiddle.net/cvwf0pra/