Ich möchte einen Zoom-Effekt auf einige Daumen erstellen.jQuery: Hover (mouseleave Ereignis ausgelöst, wenn die Maus über Kind ist)
Hier ist mein Javascript vereinfachten Code:
parent.hover(
function(){
parent.stop().animate({/* css */}, inputZoomDuration, "linear");
wrapper.stop().animate({/* css */}, inputZoomDuration, "linear");
child.stop().animate({/* css */}, inputZoomDuration, "linear");
},
function(){
alert("leave");
child.stop().animate({/* css */}, 140, "linear");
wrapper.stop().animate({/* css */}, 140, "linear");
parent.stop().animate({/* css */}, 140, "linear");
}
);
und die html ist wie:
<div parent>
<div wrapper>
<div child>
</div>
</div>
</div>
ich die Größe aller meiner divs erhöhen, wenn ich über die "Eltern". Aber sobald ich eines der Kinder überlasse (oder verlasse, btw), erscheint der Alarm. Ohne die Warnung ist das Ergebnis eine sehr bugy Animation. Gibt es eine Möglichkeit zu verhindern, dass das mouseleave -Ereignis ausgelöst wird, wenn ein Kind übergangen wird?
Mit freundlichen Grüßen,
danke.
Edit: Hier ist der Greasemonkey-Skript: http://userscripts.org/scripts/show/94786 und ein Link zu testen: http://browse.deviantart.com/ Wir in der Konsole sehen können, dass das Mouseleave-Ereignis trigerred wird, wenn ich die Orange div verlassen, im Gegensatz zu diesem Beispiel: http://www.jsfiddle.net/wnuS6/3/ wo das Ereignis nicht ausgelöst wird, wenn ich das rote Div verliere.
Welche Version von jQuery verwenden Sie? Können Sie tatsächlichen Code bereitstellen, der das Problem reproduziert? – user113716
Danke für die Antwort. Ich benutze jQuery (1.4.2) in einem Fettmonkey-Skript. Der Code ist ein bisschen schwierig. Ich werde versuchen, es hier zu posten, sobald ich es ein bisschen putze und testen, was Sie sagen. – CronosS
Wenn möglich, erstellen Sie ein [jsFiddle] (http://www.jsfiddle.net/) Beispiel, das das Problem reproduziert. (Achten Sie darauf, die richtige Bibliothek auf der linken Seite auszuwählen.) – user113716