jQuery按顺序执行操作
问题描述:
如何根据我的操作让事情顺利运行并按顺序运行。jQuery按顺序执行操作
即
var $content = $("#content");
$content.slideUp().html('');
$conten.html(from_my_ajax_request).slideDown();
基本上我已经做了一个Ajax请求DIV#内容的内容放置。
但运行上面我可以看到代码进来,但slideUp没有完成之前slideDown接管。我显然喜欢它是光滑的。
希望你能帮上忙。
答
.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()
它完成之后。
答
var $content = $("#content");
$content.slideUp(function() {
$content.html('');
$content.html(from_my_ajax_request).slideDown();
});
这样,当第一个完成时,使用回调触发动画的第二部分。