jQuery在动画后更新元素的css高度

时间:2013-02-19 19:31:43

标签: javascript jquery html css

这是我正在努力的小提琴:http://jsfiddle.net/fFYqF/

基本上它是h1高于h2,并且在它们之间有一些隐藏的段落。这个都包含在div中,我试图在视觉上居中(在屏幕上水平和垂直。我在容器div上使用了这个css将它放在页面上:

div#holder {
    position: absolute;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height:40%;
    width:60%;
    min-width:300px;
}

为此,必须指定div的宽度和高度。 我有2个问题...首先,我不知道div的高度所以我试图使用jQuery动态应用它:

var h = $('#holder').height();
$('#main').css('height', h + 'px');

其次,我还有一些jQuery来设置文本段落的动画。这会改变支架div的高度,从而使先前计算的高度不正确,并且div不再垂直居中。

有没有办法让持有者div始终在页面中心?即它应该在打开时向上移动。

请看上面的小提琴,看看我的意思。感谢

2 个答案:

答案 0 :(得分:0)

您是否尝试过.animate方法?我没有像你所描述的那样在垂直居中的情况下对此进行测试,但是当我将其他元素带入视图时,我已经使用这种方法来增加容器的高度。

$('#main').animate({height: '+='h }, 'slow');

答案 1 :(得分:0)

我更新了一个branch of your fiddle,使用.animate()的混合高度以及元素的顶部位置,使其看起来像是开放的。