/ / jQuery hover () wyzwala tylko wtedy, gdy ruch myszy - jquery

jQuery hover () uruchamia się tylko wtedy, gdy ruch myszy - jquery

Mam przycisk zmieniający krycie, gdy jest on zawieszony: (działa w porządku)

$("#btn").hover(function() {
$(this).animate({"opacity":1},100);
}, function() {
$(this).animate({"opacity":.8},100);
});

A kiedy zostanie naciśnięty, przesuwa się w dół: (działa dobrze)

$("#btn").on("click",function(){
$(this).animate({"margin-top":"-100px"},400);
});

Problem: Gdy przycisk się porusza, odsuwa się od obszaru zawisu, ale pierwszy stan najechania jest nadal aktywny (pierwszystan najechania powinien być aktywny tylko wtedy, gdy mysz znajduje się nad przyciskiem). Jeśli jednak przesuję mysz od tego momentu, drugi stan wyzwala jako jquery, że mysz porusza się.

Czy istnieje sposób na aktywowanie hover (), nawet jeśli mysz nie jest przenoszona?

Odpowiedzi:

3 dla odpowiedzi № 1

Posługiwać się $(this).trigger("mouseout")

Spowoduje to poprawność hover() przewodnik do strzału.

Próbny: http://jsfiddle.net/alan0xd7/va87ff96/


0 dla odpowiedzi nr 2

Jeśli dobrze rozumiem, problem polega na tym, że stan zawisu jest nadal aktywny, po przeniesieniu.

Dlaczego więc nie dodać krycia animacji?

$("#btn").on("click",function(){
$(this).animate({"opacity":.8,"margin-top":"-100px"},400);
});

PRÓBNY