jQuery不会更新高度

时间:2012-07-18 23:33:00

标签: javascript jquery

我遇到了jQuery .height()函数的问题。

最终结果应该是文本更改时具有动态高度的div。因此我在包装器中有一个包装器div和一个内容div。文本位于DOM中隐藏的div的其他位置,并使用.html()函数“导入”和模拟fadeIn / Out,将不透明度设置为0,然后返回到1。

当我尝试更改内容时,包装器会调整大小,但使用旧的高度值。我无法设法获得内容div的当前值...

这就是魔术应该发生的地方......

nav.click(function() {
    contDiv.animate({opacity:0}, 200, function() {
        contDiv.html(currCont);
        contDiv.animate({opacity:1}, 200);
    });

    wrapper.animate({height:contDiv.height()},200);
});

1 个答案:

答案 0 :(得分:1)

正如@MrOBrian所说,你在div有内容之前动画到高度,你可能需要在回调函数中调用这个动画,如下所示:

nav.click(function() {
    contDiv.animate({opacity:0}, 200, function() {
        contDiv.html(currCont);
        wrapper.animate({height:contDiv.height()},200);
        contDiv.animate({opacity:1}, 200);
    });
});