这是一个常见的问题,在这里和这里概述,但我找不到解决方案。
我有一个容器(#a),我加载外部文件。首先使用slideUp功能隐藏当前内容,然后加载新内容,最后使用slideDown功能显示容器。然而,动画是跳跃的,因为当它向下滑动时,它会计算前面内容的高度。我怎样才能让它计算新内容的高度呢?
您可以在这里看到实际的问题(单击左列的前三个链接之一),下面是jQuery:
$('.kolonne a').click(function() {
var url = $(this).attr('rel');
$('#a').slideUp(function() {
$(this).load(url);
});
$('#a').slideDown();
});
我的猜测是,您需要使slideDown仅在内容加载后,尝试这样的回调:
$('.kolonne a').click(function() {
var url = $(this).attr('rel');
$('#a').slideUp(function() {
$(this).load(url, function() {
//done
$('#a').slideDown();
});
});
});