2010-09-21 177 views
0

如何根据我的操作让事情顺利运行并按顺序运行。jQuery按顺序执行操作

var $content = $("#content"); 
$content.slideUp().html(''); 
$conten.html(from_my_ajax_request).slideDown(); 

基本上我已经做了一个Ajax请求DIV#内容的内容放置。

但运行上面我可以看到代码进来,但slideUp没有完成之前slideDown接管。我显然喜欢它是光滑的。

希望你能帮上忙。

回答

1

.html()没有排队(它立即发生,取决于o F中的fx队列),这样既可以使用.slideUp()回调,像这样:

$("#content").slideUp(function() { 
    $(this).html(from_my_ajax_request).slideDown(); 
}); 

一旦.slideUp()完成此调用.html().slideDown()或者.queue(),就像这样:

$("#content").slideUp().queue(function(n) { 
    $(this).html(from_my_ajax_request); n(); 
}).slideDown(); 
//or... 
$("#content").slideUp().queue(function() { 
    $(this).html(from_my_ajax_request).dequeue(); 
}).slideDown(); 

这实际上提出了.html()呼叫是fx队列一步,它会执行.slideDown()它完成之后。

1
var $content = $("#content"); 
$content.slideUp(function() { 
    $content.html(''); 
    $content.html(from_my_ajax_request).slideDown(); 
}); 

这样,当第一个完成时,使用回调触发动画的第二部分。

slideUp docs