jQuery 按顺序做事
我如何根据我的行动让事情顺利有序地进行。
即
var $content = $("#content");
$content.slideUp().html('');
$conten.html(from_my_ajax_request).slideDown();
基本上我已经完成了一个ajax请求来放置div #content的内容。
但是运行上面的代码我可以看到代码进来了,但是在slideDown 接管之前slideUp 没有完成。我显然希望它是顺利的。
希望你能帮忙。
How do I get things to run smoothly and in order based on my actions.
ie
var $content = $("#content");
$content.slideUp().html('');
$conten.html(from_my_ajax_request).slideDown();
Basically I have done an ajax request to place the content of div #content.
But running the above I can see the code come in but the slideUp does not finish before slideDown takes over. I would obviously like it to be smooth.
Hope you can help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
.html()
未排队(它会立即发生,独立于fx
队列),因此可以使用.slideUp()< /code>
回调,如下所示:
一旦
.slideUp()
完成,就会调用.html().slideDown()
。 或者.queue()
它,像这样:这实际上将
.html()
调用作为fx
队列步骤,并且在它之后执行.slideDown()
完全的。.html()
isn't queued (it happens immediately, independing of thefx
queue), so either use the.slideUp()
callback, like this:This calls the
.html().slideDown()
once the.slideUp()
is finished. Or.queue()
it, like this:This actually puts the
.html()
call as anfx
queue step, and it'll execute.slideDown()
after it's complete.这样,您可以在第一个部分完成时使用回调来触发动画的第二部分。
slideUp 文档
This way you use the callback to trigger the second part of your animation when the first is completed.
slideUp docs
您可以将回调传递给 SlideUp 并让它执行下一步:
http://api.jquery.com /slideUp/
或者您可以使用动画调用:
http://api.jquery.com/动画/
You can pass a callback to slideUp and get that to execute the next step:
http://api.jquery.com/slideUp/
Or you could use the animate call:
http://api.jquery.com/animate/