在 jQuery 中制作动画时,仅当所有元素完成动画而不是每个元素时才触发回调的最佳实践是什么?
例如:
$('.someElements').fadeOut('fast', function() {
// dont do this until ALL elements are done fading
}
这可能是一个值得尝试的片段:
var numberOfElements = $('.someElements').length;
$('.someElements').fadeOut(fast, function() {
if( numberOfElements-- > 0 ) return;
alert('call the Fireman!');
});
警报只是您需要触发的结束回调的占位符。
编辑(另一种方式):
您还可以捕获所有元素,但不能捕获last one.
$('.someElements').not(.someElements:last).fadeOut();
然后添加一个仅带有回调的 fadeOut 到 It
$('.someElements:last').fadeOut(fast, function (){
// do something, it's the end of the world
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)