我编写了一个应该在页面首次加载时以及用户调整窗口大小时触发的函数。当页面加载时,它工作正常,但是当用户调整窗口大小时,它不起作用。奇怪的是,如果我在函数内放置了警报,则在调整窗口大小时会显示该警报,但其余函数不会触发。我没有在Chrome的控制台中看到任何错误。我尝试将其更改为$(document).resize()$("body").resize()$(".pricingHeader").resize(),但没有任何效果。这对我来说毫无意义。

function getTallest() {
    var tallest = 0;
    $(".pricingHeader").not(".features .pricingHeader").each(function(){
       tallest = $(this).height() > tallest?$(this).height():tallest;
    });
    $(".pricingHeader").not(".features .pricingHeader").height(tallest);
    $(".features .pricingHeader").height(tallest + 8);
}
$(document).ready(function() {
    getTallest();
});
$(window).resize(function() {
    getTallest();
});

最佳答案

尝试:

function getTallest() {
    var tallest = 0;
    $(".pricingHeader").not(".features .pricingHeader").each(function(i, elem){
       if ( $(elem).height() > tallest ) tallest = $(elem).height();
    });
    $(".pricingHeader").height(function() {
        var add = $(this).closest('.features').length ? 8 : 0;
        return tallest+add;
    });
}

$(function() {
    $(window).on('resize', getTallest).trigger('resize');
});

07-26 05:39