【问题标题】:jQuery: Call 'complete' callback with .stop(xxx, false)jQuery:使用 .stop(xxx, false) 调用“完成”回调
【发布时间】:2014-11-03 14:13:43
【问题描述】:

有一个库 X 可以为元素 '.the-element' 设置动画,并在动画结束时附加一个简单的 complete-callback。必须调用该回调,否则库 X 将停止工作。

库 X 本身不支持冻结(也就是暂停所有动画它们所在的位置)所以我尝试做jQuery('.the-element').stop(false, false);。但是现在回调没有被调用。由于 jQuery 不支持恢复暂停的动画(这是首选,但我不想为此使用插件),我想自己调用 complete-callback,以便库 X 可以继续它的工作.

那么问题来了:如何在使用.stop(xxx, false)时调用complete-callback?

【问题讨论】:

  • 如果可以的话,可以发jshtml吗?谢谢

标签: javascript jquery callback jquery-animate


【解决方案1】:

您可以使用$.fn.animate()options-object 将回调放置在另一个事件上(在您的情况下是always);

$(".the-element").animate(
    {property: 'value'}, {
        duration: 1000,
        done: function() {/* ... */}, // executes when animation reached end value
        complete: function() {/* ... */}, // executes when animation is complete
        fail:  function() {/* ... */}, // executes when animation don't go to end
        always: function() {/* ... */}, // executes always when animation is ended,
                                        // it may be completed or interrupted/stopped
    }
);

Reference for $.fn.animate().

【讨论】:

  • 感谢您的好建议,我敢肯定,这将帮助一些来自谷歌的人,但在我的情况下,这段代码在库 X 中,我没有权力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-28
  • 2013-07-02
  • 1970-01-01
  • 2015-10-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-26
相关资源
最近更新 更多