防止jQuery多次排队

时间:2011-11-23 21:02:53

标签: jquery queue

我正在尝试制作一个聪明的联系页面。我的jQuery动画都正常运行,唯一剩下的就是我想阻止动画在你快速翻转链接时排队。

通常,我知道您可以使用.stop()来防止这种情况,但我不确定如何在这种情况下执行此操作。所以:

  1. 如何防止jquery动画在鼠标悬停时多次排队?
  2. 如果有人想提供有关如何清理凌乱的jQuery的见解,那将是一个奖励。
  3. 工作代码:jsFiddle(鼠标悬停在按钮链接上)

4 个答案:

答案 0 :(得分:1)

这似乎对我有用,可以在下拉菜单中找到:

.stop(true, true)

在上下文中,在我的代码中:

$('#smoothmenu1 li').hover(function () {
    $(this).addClass('hover');
    $(this).children('ul').stop(true, true).fadeIn(300);
}, function () {
    $(this).removeClass('hover');
    $(this).children('ul').stop(true, true).fadeOut(200);
});

答案 1 :(得分:1)

你也可以尝试这样的事情:http://jsfiddle.net/SpE64/2/

答案 2 :(得分:0)

您可能想要查看此插件。它允许您调节事件发生的频率/次数。

http://benalman.com/projects/jquery-throttle-debounce-plugin/

答案 3 :(得分:0)

有hoverintent.js http://cherne.net/brian/resources/jquery.hoverIntent.html虽然它似乎最近没有更新过。坦率地说,我不知道它是否仍然支持jQuery人群,但很久以前它被大量推荐用于这样的东西。