2017-06-01 53 views
0

以下是用于均衡几个div的高度。在页面加载上运行良好,不适用于窗口大小调整。脚本未在window.resize上运行

想法?

function equalHeight(group) { 
tallest = 0; 
group.each(function() { 
    thisHeight = $(this).height(); 
    if(thisHeight > tallest) { 
     tallest = thisHeight; 
    } 
}); 
group.height(tallest); 
} 

$(document).ready(function() { 
equalHeight($(".equal")); 
}); 
$(window).resize(function() { 
equalHeight($(".equal")); 
}); 

回答

0

想通了。这是因为在调整大小时,高度已经从上次加载函数的运行中设置。我已经添加$(this).height('auto');each功能,也改变$(document).ready(function(){})$(window).load(function(){});见下图:

function equalHeight(group) { 
    tallest = 0; 
    group.each(function() { 
     $(this).height('auto'); 
     thisHeight = $(this).height(); 
     if(thisHeight > tallest) { 
     tallest = thisHeight; 
     } 
    }); 
    group.height(tallest); 
} 
$(window).load(function() { 
    equalHeight($(".equal")); 
}); 
$(window).resize(function() { 
    equalHeight($(".equal")); 
}); 
0

试试这个

$(function equalHeight(group) { 
tallest = 0; 
group.each(function() { 
    thisHeight = $(this).height(); 
    if(thisHeight > tallest) { 
     tallest = thisHeight; 
    } 
})); 
group.height(tallest); 
} 

$(document).ready(function() { 
equalHeight($(".equal")); 
}); 
$(window).resize(function() { 
equalHeight($(".equal")); 
}); 
+0

这是行不通的。控制台说你的语法不正确。我将第二个圆括号移至该函数的末尾,仍然不起作用 – Tom