Предотвращение очереди jQuery несколько раз - PullRequest
1 голос
/ 24 ноября 2011

Я пытаюсь сделать умную страницу контактов.У меня все анимации jQuery работают правильно, осталось только то, что я хочу, чтобы анимация не выстраивалась в очередь, когда вы быстро пролистываете ссылки.

Обычно я знаю, что вы можете использовать .stop (), чтобы предотвратить это, но я не уверен, как это сделать в этом сценарии.Итак:

  1. Как запретить анимации jquery многократно ставиться в очередь при наведении мыши?
  2. Если кто-то захочет дать представление о том, как очистить мой грязный jQuery, этобыть бонусом.

Рабочий код: jsFiddle (наведите курсор мыши на кнопку ссылки)

Ответы [ 4 ]

1 голос
/ 24 ноября 2011

Вы также можете попробовать что-то вроде этого: http://jsfiddle.net/SpE64/2/

1 голос
/ 24 ноября 2011

Мне показалось, что это работает в выпадающем меню:

.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);
});
0 голосов
/ 24 ноября 2011

Есть hoverintent.js http://cherne.net/brian/resources/jquery.hoverIntent.html, хотя не похоже, что он был недавно обновлен.Честно говоря, я не знаю, пользуется ли он популярностью у jQuery, но когда-то его настоятельно рекомендовали для подобных вещей.

0 голосов
/ 24 ноября 2011

Возможно, вы захотите заглянуть в этот плагин.Позволяет регулировать частоту и частоту возникновения события.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...