Jquery, отключить/игнорировать событие наведения во время появления/исчезновения?

Я пытаюсь выяснить, возможно ли это. У меня есть карта изображения, которая исчезает/исчезает в зависимости от наведения на определенные части.. проблема в том, что когда пользователь наводит курсор на другую область во время затухания, она заканчивается затухание, которое он делал, затем делает то же самое для области, в которую была перемещена мышь ... если пользователь быстро перемещается между несколькими разными областями, то затухания кажутся действительно нервными и неуклюжими, поэтому я хочу иметь возможность отключить событие наведения ( затухание) в то время, когда происходит другое затухание, поэтому он просто игнорирует его.

Я думал об использовании какой-то задержки, но я не знаю, сработает ли это, так как я думаю, что это тоже задержит затухание ... любой совет приветствуется.


person Rick    schedule 25.07.2010    source источник


Ответы (2)


Я думаю, вы имеете в виду создание очереди проблема там. Попробуйте использовать метод stop перед методом анимации, например:

$(...).stop().fadeIn();

Больше информации:

http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

Что касается плавной анимации, вы можете использовать плагин jQuery Easing.

person Sarfraz    schedule 25.07.2010
comment
Спасибо .. это помогает, это было связано с тем, что я не знал правильную терминологию для поиска информации об этом, я посмотрю информацию, которую вы дали - person Rick; 25.07.2010

Не видя вашего кода, ваши инструменты представляют собой смесь :animated и метода jQuery .stop().

Это может выглядеть как

$('imagemap').hover(function(){
   // only do something if no animation is in process (like fading)
   if(!$(this).is(':animated')){
   }
}, function(){
});

Вы также можете вызвать .stop(true, true) перед любым .fadeIn() в вашей цепочке. Это остановит текущую анимацию и перейдет к концу fx queue.

Ссылки: :анимированный селектор, .stop(), .is()

person jAndy    schedule 25.07.2010
comment
Спасибо .. Теперь я понял, просто не знал, какую терминологию искать, я думаю - person Rick; 25.07.2010