jQuery 按顺序做事

发布于 2024-09-24 04:12:04 字数 302 浏览 8 评论 0原文

我如何根据我的行动让事情顺利有序地进行。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伴我老 2024-10-01 04:12:04

.html() 未排队(它会立即发生,独立于fx 队列),因此可以使用 .slideUp()< /code>回调,如下所示:

$("#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()完全的。

.html() isn't queued (it happens immediately, independing of the fx queue), so either use the .slideUp() callback, like this:

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

This calls the .html().slideDown() once the .slideUp() is finished. Or .queue() it, like this:

$("#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();

This actually puts the .html() call as an fx queue step, and it'll execute .slideDown() after it's complete.

安静 2024-10-01 04:12:04
var $content = $("#content");
$content.slideUp(function() {
  $content.html('');
  $content.html(from_my_ajax_request).slideDown(); 
});

这样,您可以在第一个部分完成时使用回调来触发动画的第二部分。

slideUp 文档

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

This way you use the callback to trigger the second part of your animation when the first is completed.

slideUp docs

離人涙 2024-10-01 04:12:04

您可以将回调传递给 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/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文