为什么这只能在页面加载时正常工作?

时间:2015-08-24 21:23:25

标签: javascript jquery html dom

我有一个程序

<script type="text/javascript">

    function rescaleStuff ( )
    {
        jQuery('.children-have-equal-height').each(function(){
            var children = jQuery(this).children();
            var numChildren = children.length;
            if (numChildren > 1) 
            {
                var firstChild = children.first();
                var maxHeight = firstChild.height();
                firstChild.siblings().each(function()
                { 
                    var thisHeight = jQuery(this).height(); 
                    if (thisHeight > maxHeight) 
                        maxHeight = thisHeight;
                });
                children.height(maxHeight);
            }
        });
    }


    jQuery(window).load(function() {
         rescaleStuff();
    });

    jQuery(window).resize(function()
    { 
         rescaleStuff();
    });
</script>

旨在使具有类children-have-equal-height的元素的所有子元素的高度等于最高子元素的高度。为什么它只在页面加载时工作,然后子元素的height保持与页面加载时相同?

1 个答案:

答案 0 :(得分:1)

尝试使用以下代码在rescaleStuff的开头将高度设置为'auto':

jQuery('.children-have-equal-height').children().height('auto')