当我在 jQuery 中使用 fade/slide/animate 函数时,对于应用效果的每个元素,回调会被多次调用。这当然是设计使然。我只想知道最后一次回调何时被调用。
这就是我的想法 - 当最后一个回调被触发时,它会淡出所有的 div 并显示一个alert()。
$("div").fadeOut(1000, function ()
{
if ($("div").index($(this)) == $("div").length-1)
alert("this is the final callback");
});
是否有一种更简单的方法来检查哪个回调是最后一个回调,或者这是唯一的方法?
最佳答案
尝试查看the jQuery documentation for .promise()
这应该有效:
$('div').fadeOut(1000).promise().done(function() {
alert('all done');
});
像往常一样,jQuery 文档对此非常模糊。但我不确定我能做到
关于jquery回调被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909526/