我想使用fx和函数
我有一个动画,我想,在队列的最后,做一个ajax调用。
我似乎无法使其发挥作用......
我完全不知道如何处理...
这将是一个非常非常粗略的例子,但是
$('#dvHeader').queue(function() {
$('#dvLeftContent').slideDown(2000);
$('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500)
callAjax();
}
此代码在最后一个效果开始之前调用callAjax函数方式,事实上,几乎与第一个效果一样。
真实案例有点复杂,我不能使用动画效果的回调,例如。我想知道队列何时结束最后一次效果,或类似的事情。
如何在最后一个动画结束时触发该调用?
答案 0 :(得分:1)
请参阅http://docs.jquery.com/Effects/animate
尝试将最后一个效果的回调方法(在您的情况下为animate())设置为ajax函数:
动画(params,[duration],[easing],[ callback ])
答案 1 :(得分:0)
使用回调机制将您的动画与您的通话链接在一起:
$('#dvHeader').queue(function() {
$('#dvLeftContent').slideDown(2000, function() {
$('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500, function() {
callAjax();
});
});
});
答案 2 :(得分:0)
稍微仔细看看这些队列是如何工作的,我发现如果我只知道动画的最后一个元素,我可以将我的ajax调用排队,它会在动画之后放置我的函数,像:
$('#dvHeader').queue(function() {
$('#dvLeftContent').slideDown(2000);
$('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500);
}
$('#dvRightContent').queue(function() {
callAjax();
});
当然,具有与回调完全相同的行为 谢谢大家的帮助。