jquery回调被多次调用

标签 jquery callback

当我在 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/

相关文章:

javascript - Sails.js 查找记录并将结果存储到 var

c++ - 关于回调函数和线程的一般查询

javascript - 如何在socket.io连接函数中执行具有指定参数的函数

php - 哪个是最好的 COMET 服务器?

jquery - 为什么这个 css 选择器不能使用很棒的字体

javascript - Knockout.js:基于文本绑定(bind)制作id

javascript - 纯JS加载JS文件后的回调

C++ 回调函数

javascript - 如果为空就不显示,用Javascript或者jQuery怎么办

javascript - 从 WFS/Geoserver 获取 JSON 数据