JQuery, чтобы разрешить только один ролловер за один раз - PullRequest
4 голосов
/ 06 января 2012

Я создал эффект .slideDown & .slideUp для div на основе mouseover и mouseleave.

Проблема в том, что когда я переключаю несколько divs на быстрый, а затем происходит откат, он сохраняет память о том, сколько раз я перевернулся, и не остановится, пока не будут выполнены все слайд-даун и слайд-ап.

Пример: http://juliosalvat.com/IconTest/

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Да, это противный.Jquery хранит очередь событий, чтобы сократить эту очередь, вы можете использовать .stop()

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

Вам, вероятно, понадобится .stop(true, true), который удалит всю анимацию вочереди и просто играть в последнюю.

1 голос
/ 06 января 2012

Вы должны заглянуть в плагин HoverIntent jQuery

http://cherne.net/brian/resources/jquery.hoverIntent.html

hoverIntent - плагин, который пытается определить пользователя намерение ... как хрустальный шар, только с движением мыши! Работает как (и был получен из) встроенного наведения jQuery. Однако вместо немедленно вызывая функцию onMouseOver, она ждет, пока пользовательская мышь замедляется достаточно, прежде чем сделать звонок.

...