javascript - 回调 : animate complete: called after . Promise().done()

标签 javascript jquery callback

我制作了一个非常简单的插件供我个人使用,允许在 jQuery 中进行动画旋转。

我还添加了回调函数。

如果rewind参数为true,则旋转被撤消,然后回调。

如果为false,则在旋转后立即回调。

我必须这样做,因为由于某种原因,.promise().done(function(){ ... })complete: 之前被调用animate()

所以我不得不回避这个。

现在的问题是,如果我定位多个元素,则会为每个元素调用回调。因为我认为我使用了一个 each 函数。但我只想对整个动画进行一次回调。

这是fiddle

请问如何做到这一点?谢谢!

PS:我在这里看到了类似的问题:jQuery $.animate() multiple elements but only fire callback once但由于 .promise().done() 问题而未申请。而且我不想添加变量,我想理解^^

最佳答案

您可以尝试使用each的索引,并且仅在它是第一个元素时调用回调

类似于:

return this.each(function(i) {
   ....
   ....
   complete: function() {
        i==0 && a.callback &&  a.callback()
  }

关于javascript - 回调 : animate complete: called after . Promise().done(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783356/

相关文章:

Javascript 和 Ajax - 在间隔中包含回调变量

java - 如何使用 Java 和 Rhino 查找所有出现的 Javascript 函数

javascript - 在 xslt 中使用 javascript?

javascript - JQuery 自动完成下拉菜单位置

jQuery 自动完成 : if user writes down a match, 回调函数不会被调用

javascript - 如何在回调中访问正确的 `this`?

java - 来自另一个类的 Android Interface 类显示空指针异常

javascript - JavaScript 'bind' 方法有什么用?

javascript - 值更改时 Angular ng-show 无法正常工作

javascript - 从 php json_encode 到 jquery 解码