为什么在调整窗口大小时为多个列设置相同的高度?

时间:2015-01-22 10:32:21

标签: jquery window-resize

我有一个函数为带有文本的列设置相同的高度。

它在桌面上运行正常,但在调整窗口大小时没有任何作用。

可能有什么问题?

代码如下。感谢。

function columnSize() {
    var maxheight = 0;
    $('.service .wrap .intro').each(function() {
        if($(this).innerHeight() > maxheight) { maxheight = $(this).innerHeight(); }
    });
    $('.service .wrap .intro').innerHeight(maxheight);      
}

$(document).ready(function() {
    columnSize();
});

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

1 个答案:

答案 0 :(得分:0)

问题是页面首次加载时在div上设置了高度。这会在div上设置一个style属性,所以当你再次检查div的高度时,它只是拉出那个值,这就是它永远不会改变的原因。在重新设置之前,您需要将高度重置为自动

请参阅此处http://jsfiddle.net/rhboyzgx/2/

function columnSize() {
    var maxheight = 0;
    var $intros = $('.service .wrap .intro');
    $intros.css("height","auto");
    $intros.each(function() {
        var h = $(this).innerHeight();
        if( h > maxheight ) { 
            maxheight = h;
        }
    });
    $intros.innerHeight(maxheight);     
}

$(document).ready(function() {
    columnSize();
});

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