2016-05-19 11 views
0

Ich habe ein Elternelement Flip sobald sein Kind ist schwebte, das funktioniert. Ich kann es zurückdrehen, wenn das Kind nicht mehr herumgepfuscht wird, aber ich habe Probleme, den Elternteil umzudrehen, sobald der Benutzer nicht mehr über das Kind oder dessen Elternteil schwebt. Hier mein Versuch ist (FYI bin ich sehr neu in dieser):Jquery haben Eltern tun etwas nur einmal Eltern und Kind nicht schwebte

$(function(){ 
    var parentOfChild; 
    $(".bannerBottom").on("mouseenter", function(event){ // this section works 
     parentOfChild = $(event.target).parent().attr('id'); 
     $(this).parent().css({ 
      'transition': '1s', 
      'transform': 'rotateY(180deg)' 

     }); 
    }); 
    $(".bannerBottom").on("mouseleave", function(){ // my problem is in this section 
     if (mouse not over .bannerBottom || parentOfChild) { //<-- what I'm trying to do but don't know how 
      $('#' + parentOfChild).css({ 
       'transition': '1s', 
       'transform': 'rotateY(0deg)' 
      }); 
     } 
    }); 
}); 

TY für die Antworten so weit, ich bin die .is Lesung() Link jetzt, in der Zwischenzeit ist hier ein JSFiddle.

Für alle in der Zukunft hier ist die Arbeit JSFiddle mit Timster-Lösung.

+0

Können Sie 'html' bei Question angeben? – guest271314

+0

Umschließt das Elternelement das Kind? Oder ist einer von ihnen außerhalb des Dokumentenflusses (z. B. absolut positioniert)? –

Antwort

1

Wenn das Kind einen Teil des übergeordneten Fluss Wurzel ist (das ist das übergeordnete Element das untergeordnete Element umschließt), dann können Sie nur für die Maus verlassen auf dem Elternteil beobachten.

$(".bannerBottom").parent().on("mouseleave", function(event){ 
    $(this).css({ 
      'transition': '1s', 
      'transform': 'rotateY(0deg)' 
     }); 
}); 

(Auch gibt es keine Notwendigkeit, das DOM zu suchen (mit $ ("#" + var)) von der Maus Event verlassen - das ist langsam die Veranstaltung bereits kennt sein Auslöseelement..)

+0

Ich kann nicht glauben, dass ich das nicht versucht habe, aber es hat wunderbar funktioniert! – potato