当我在jQuery中使用淡入淡出/幻灯片/动画函数时,对应用效果的每个元素多次调用回调.这当然是设计的.我只是想知道什么时候调用最后一个回调.
这是我想出的 - 它淡出所有div并在最后一次回调被触发时显示alert().
$("div").fadeOut(1000, function ()
{
if ($("div").index($(this)) == $("div").length-1)
alert("this is the final callback");
});
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来检查哪个回调是最后一个回答,还是这是唯一的方法呢?
eda*_*dan 48
这应该工作:
$('div').fadeOut(1000).promise().done(function() {
alert('all done');
});
Run Code Online (Sandbox Code Playgroud)
通常,关于这个的jQuery文档真的很模糊.但我不确定我能做到
sam*_*son 18
当调用最后一个元素的fadeOut时,这将产生警报.那不一定是最后的fadeOut.
var numDivs = $('div').length;
$('div').fadeOut(1000, function() {
if( --numDivs > 0 ) return;
alert('this is the final fadeout to complete');
});
Run Code Online (Sandbox Code Playgroud)
在JSFiddle上查看它