2013-07-24 5 views
0

В этом примере, если я быстро переместить мышь в, из, в, вне MouseLeave событие все равно будет срабатывать дваждыMousenter отменить MouseLeave на курсор повторно ввести

http://jsfiddle.net/4bsLm/1/

Как я могу сделать это событие FADEOUT STOP, если курсор перемещен назад?

$(document).on("mouseenter","div",function() { $(this).find("span").fadeIn(400);}).on("mouseleave","div",function() {$(this).find("span").delay(700).fadeOut(400);}); 

(обратите внимание, .on требуется)

ответ

2

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

JSFiddle

$(document).on("mouseenter", "div", function() { 
    $(this).find("span").stop().fadeIn(400); 
}).on("mouseleave", "div", function() { 
    $(this).find("span").stop().delay(700).fadeOut(400); 
}); 
Смежные вопросы