jQuery 等待所有页面动画完成

发布于 2024-12-18 21:00:32 字数 266 浏览 2 评论 0原文

我知道如何等待动画完成

$('#element').animate(speed,function(){
//code here
});

并使用多个元素

$('#element1, #element2').promise().done(function(){
//code here
});

,但是如何等待页面上的所有元素都完成动画处理?我宁愿不只是把我正在等待的每一个元素都放进去。

I know how to wait till an animation is done with

$('#element').animate(speed,function(){
//code here
});

and with multiple elements with

$('#element1, #element2').promise().done(function(){
//code here
});

but how do I wait till all of the elements on the page are done animating? I would much rather not just put in every element that I'm waiting for in there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

[旋木] 2024-12-25 21:00:33

要选择当前正在动画的所有内容,只需执行 $(":animated")
http://api.jquery.com/animated-selector/

将其与您已有的内容相结合在那里,它只是

$(":animated").promise().done(function() {
    //code here
});

To select everything that's being animated currently, just do $(":animated")
http://api.jquery.com/animated-selector/

Combining that with what you already have there, it'd just be

$(":animated").promise().done(function() {
    //code here
});
复古式 2024-12-25 21:00:33

Jeremy T 给出的答案效果很好 - 尽管基于他链接的 jquery 网站上的评论(http://api.jquery. com/animated-selector/),向页面上可能有动画的每个元素添加一个类,然后使用选择它们将是一个更快的解决方案

    $('.animationclass').filter(':animated').promise().done(function() {
//Your function
});

The answer given by Jeremy T works fine - although based on the comments on the jquery site he linked (http://api.jquery.com/animated-selector/), it would be a faster solution to add a class to each element on the page that may be animated, and then select them using

    $('.animationclass').filter(':animated').promise().done(function() {
//Your function
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文