tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
328
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Caltoriz Caltoriz ist offline Grünschnabel
    Registriert seit
    Aug 2010
    Beiträge
    3
    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 (:
     

  2. #2
    Avatar von spicelab
    spicelab spicelab ist offline goaspicy
    Registriert seit
    Feb 2010
    Beiträge
    1.392
    Zitat Zitat von Caltoriz Beitrag anzeigen
    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.
    Ohne deinen dazugehörigen HTML-Code gesehen zu haben, lässt sich hier anhand deines Scripts zu den möglichen Fehlerquellen nichts sagen.
     

  3. #3
    Caltoriz Caltoriz ist offline Grünschnabel
    Registriert seit
    Aug 2010
    Beiträge
    3
    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>
     

  4. #4
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.440
    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).
    Code :
    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
    });
    Ciao
    Quaese
     
    Vielleicht 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

  5. #5
    Caltoriz Caltoriz ist offline Grünschnabel
    Registriert seit
    Aug 2010
    Beiträge
    3
    Vielen Dank, macht Sinn (:
     

  6. #6
    scrippi scrippi ist offline Mitglied
    Registriert seit
    Oct 2008
    Beiträge
    13
    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

  1. Rewrite wird doppelt ausgeführt...
    Von PowerCheat im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 11.08.08, 22:05
  2. CSS wird nicht ausgeführt
    Von Zank im Forum CSS
    Antworten: 7
    Letzter Beitrag: 04.01.07, 17:14
  3. SQL wird nicht ausgeführt
    Von Azi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.11.06, 13:11
  4. while wird nicht ausgeführt
    Von ICPUI im Forum PHP
    Antworten: 2
    Letzter Beitrag: 18.01.06, 18:06
  5. textformatierung im layer wird als mouseout angesehen
    Von Bomber im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 23.05.02, 13:18