jQuery each()获得相同的结果

时间:2014-04-18 21:22:28

标签: jquery each

基本上,我试图:获得父亲的身高,减去孩子的身高,将结果除以2,将其除以,然后将结果作为孩子的价值& #39; s上限。它工作正常,但只在第一个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();
});

如果之前已经回答,我会事先道歉。我试着看,但我似乎无法找到合适的关键字。

这里是小提琴:http://jsfiddle.net/y29S4/4/

非常感谢。

1 个答案:

答案 0 :(得分:1)

您将inside_height定义为内部及其在全局范围内,因此它只需要第一个元素,您需要将代码更改为:

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