ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
328
328
EMPFEHLEN
-
Hallo,
ich versuche mit Hilfe von mouseover() und mouseout() 2 Buttons innerhalb eines <td>-Elements ein- bzw. auszublenden, das klappt auch wunderbar, jedoch wird das mouseout()-Event auch ausgeführt wenn ich von dem jeweiligen <td>-Element mit der Maus auf die Bilder gehe.
Woran liegt das, die Bilder sind doch schließlich innerhalb des richtigen <td>-Elements.
Hier die Codezeilen (benutze jQuery):
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$("td img").fadeTo(0,0); $("td").mouseover(function() { if($(this).index() == 1 || $(this).index() == 3) { $(this).addClass('fokus').prev().addClass('fokus'); $("img", this).fadeTo(800,1.0); } else { $(this).addClass('fokus').next().addClass('fokus'); } }).mouseout(function() { if($(this).index() == 1 || $(this).index() == 3) { $(this).removeClass('fokus').prev().removeClass('fokus'); $("img", this).fadeTo(0,0); } else { $(this).removeClass('fokus').next().removeClass('fokus'); } });
danke schonmal für die Hilfe (:
-
-
Danke für die schnelle Antwort, hier der Quellcode, aber der ist eigtl. sehr ersichtlich (:
HTML-Code:<td><img src="img/check.png" /><img src="img/add.png" /></td>
-
Hi,
du musst prüfen, ob das nächste Element (Event.relatedTarget) in der Zelle enthalten ist (contains) ODER ob es sich um das Element selbst handelt. In beiden Fällen darf der Event nicht mehr ausgeführt werden und die Routine muss verlassen werden (return).
CiaoCode :1 2 3 4 5 6 7 8 9
$(objElem).mouseover(function(evt){ if($.contains(this, evt.relatedTarget) || (this == evt.relatedTarget)) return; // ToDo: Sonstige Anweisungen }).mouseout(function(evt){ if($.contains(this, evt.relatedTarget) || (this == evt.relatedTarget)) return; // ToDo: Sonstige Anweisungen });
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Vielen Dank, macht Sinn (:
-
dafür gibt es bei jQuery eine verbesserte Funktion namens mouseenter und die dazu passende mouseleave.
Einfach mouseover mit mouseenter und mouseout mit mouseleave ersetzen und das Problem hat sich
Ähnliche Themen
-
Rewrite wird doppelt ausgeführt...
Von PowerCheat im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 11.08.08, 22:05 -
CSS wird nicht ausgeführt
Von Zank im Forum CSSAntworten: 7Letzter Beitrag: 04.01.07, 17:14 -
SQL wird nicht ausgeführt
Von Azi im Forum PHPAntworten: 3Letzter Beitrag: 11.11.06, 13:11 -
while wird nicht ausgeführt
Von ICPUI im Forum PHPAntworten: 2Letzter Beitrag: 18.01.06, 18:06 -
textformatierung im layer wird als mouseout angesehen
Von Bomber im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 23.05.02, 13:18





Zitieren


Login




