1

当我不使用 .animate() 时,我不知道如何禁用队列。我认为 .clearQueue() 可能会起作用,但我不知道该放在哪里。谢谢!!

$('.one').hover(
  function () {
    $(this).addClass('bigger-outer', 1000);
    $(this).find('.inner').addClass('bigger-inner', 1000);
  }, 
  function () {
    $(this).removeClass('bigger-outer', 1000);
    $(this).find('.inner').removeClass('bigger-inner', 1000)
  }
);
4

2 回答 2

1

clearQueue 清空队列,它会让当前动画(如果有的话)继续运行。

如果您还想停止当前动画,请参见stop(),并将两个参数都设置为 true(第一个用于清除队列,第二个用于跳转到末尾)。

至于将它们放在哪里,您很可能在两个事件处理程序中都需要它;

$('.one').hover(
  function () {
    $(this).stop(true, true).addClass('bigger-outer', 1000);
    $(this).find('.inner').addClass('bigger-inner', 1000);
  }, 
  function () {
    $(this).stop(true, true).removeClass('bigger-outer', 1000);
    $(this).find('.inner').removeClass('bigger-inner', 1000)
  }
);

Note that jQuery's addClass() does not accept a second parameter; it's effect is instantaneous, but jQuery UI does (apparently, which is stupid).

于 2012-06-28T21:06:53.773 回答
0

您可以链接.stop(true)以清除动画队列

http://api.jquery.com/stop/

于 2012-06-28T21:06:44.633 回答