0

我在使用 jQuery .height() 函数时遇到问题。

最终结果应该是随着文本的变化而具有动态高度的 div。因此,我在该包装器中有一个包装器 div 和一个内容 div。文本位于 DOM 中其他隐藏 div 的位置,并使用 .html() 函数和模拟的淡入/淡出“导入”,将不透明度设置为 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);
});
4

1 回答 1

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);
    });
});
于 2012-07-18T23:37:03.660 回答