【发布时间】:2011-07-10 09:41:26
【问题描述】:
我需要在多个元素完成动画后执行一次回调。 我的 jquery 选择器如下:
$('.buttons').fadeIn('fast',function() {
// my callback
});
这样做的问题是按钮类匹配了许多元素,所有这些元素都需要在执行回调之前淡入。就目前而言,回调是在每个单独的元素完成动画后执行的。这不是所需的功能。我正在寻找一个优雅的解决方案,这样我的回调只在所有匹配的元素完成动画后执行一次。这个问题已经出现在包括 SO 在内的几个地方,但从来没有一个优雅的答案(甚至也没有一个明确的答案 - 对一个人有用的解决方案对其他人根本不起作用)。
【问题讨论】:
-
也许做一个 .each() 函数,每次动画完成一个元素,增加一个计数器。当计数器达到动画元素的数量时,运行你的回调函数?
-
@Chris,谢谢,我还没有看到这个问题——太完美了!此外,与下面的@Riley 和@Ross 的答案非常相似。
标签: javascript jquery animation callback