我遇到了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);
});
答案 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);
});
});