防止延迟()发射

时间:2014-11-18 03:50:22

标签: jquery

我有以下代码:

$("#parahide").on("click", function () {
  $(this).dequeue().slideUp('400');
}).delay(6000).slideUp('400');

这里click()和delay()都使用slideup()隐藏div。如果用户已经在6秒内点击了段落,我怎样才能阻止延迟()触发后的第二次slideup()。

1 个答案:

答案 0 :(得分:0)

您可以使用.stop(true)清除动画队列,该队列将清除所有待处理的动画操作,包括延迟和幻灯片。

$("#parahide").on("click", function () {
    $(this).stop(true).slideUp('400');
}).delay(6000).slideUp('400');

我不太清楚为什么这是一个问题,因为在已经隐藏的内容上调用.slideUp()可能不会做任何可见的事情。