jQuery等到所有页面动画都完成

我知道如何等待动画完成

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

和多个元素

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

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

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

将它与你已经拥有的东西相结合,它就是

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

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

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