jQuery的clearQueue方法实际上并没有清除队列

时间:2014-01-01 16:34:28

标签: javascript jquery jquery-animate

这是我正在尝试做的事情

  1. 有一个删除按钮,点击该按钮后,撤消按钮将下拉到视图中。
  2. 撤消按钮在视图中保持5秒钟,然后部分撤退,因此大约三分之一的按钮仍然可以在页面顶部看到。将鼠标悬停在按钮上会显示完整按钮,用户仍然可以单击它以撤消删除操作。
  3. 只有在撤消后,撤消按钮才会完全撤退并从视图中完全消失,就像加载页面时一样。
  4. JSBin测试用例:http://jsbin.com/IzIqAPOZ/1/

    在大多数情况下,它的效果非常好。问题是(在测试用例中也有描述)如果在5秒内再次点击删除按钮,撤消按钮,删除按钮,第二次点击删除按钮后出现的撤消按钮会在5秒之前撤消。

    我在测试用例的撤消按钮中添加了一个进度条,以便您可以看到。快速单击“删除”,“撤消”和“删除”,您将看到撤消按钮在进度条完全点击之前撤消。

    但是,如果单击“删除”按钮并将其保留,则撤消按钮仅在完成进度后才会撤消。

    我认为问题在于第21行的clearQueue调用。我尝试将其替换为stop,但没有任何帮助。有谁知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

如果我使用.finish()代替.clearQueue(),对我来说效果更好,但我不能说为什么(还)。