jQuery each()获得相同的结果

jQuery each()获得相同的结果,jquery,each,Jquery,Each,基本上,我是在尝试:得到父母的身高,减去孩子的身高,将结果除以2,然后将结果作为孩子上边距的值。它工作正常,但只在第一个div上。其他div得到相同的值 以下是jQuery: function update() { var container = $('.container'); var inside = $('.inside'); inside.each(function () { var cont_height = container.o

基本上,我是在尝试:得到父母的身高,减去孩子的身高,将结果除以2,然后将结果作为孩子上边距的值。它工作正常,但只在第一个div上。其他div得到相同的值

以下是jQuery:

function update() 
{
    var container = $('.container');
    var inside = $('.inside');

    inside.each(function () 
    {
        var cont_height = container.outerHeight();
        var inside_height = inside.outerHeight();
        var x = (cont_height - inside_height) / 2,
            x = Math.floor(x);
        $(this).css("marginTop", x);
    });
}

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

$(window).resize(function () 
{
    update();
});
如果之前已经回答过,我会提前道歉。我试图寻找,但似乎找不到正确的关键词

这是小提琴:


非常感谢。

您将“内部高度”定义为“内部”,并且它在全局范围内,因此只需要第一个元素,您需要将代码更改为:

var inside_height = $(this).outerHeight();

你太棒了。非常感谢你。