2010-09-03 5 views
2

Comment puis-je obtenir DIV (.level2) pour commencer à exécuter le fadeOut() seulement si DIV (.level3) est caché? Qu'est-ce qui se passe en ce moment est DIV (.level2) disparaît avant DIV (.level3) sur mon menu ... l'air vraiment foiré.

S'il vous plaît voir le code ci-dessous:Comment puis-je obtenir un DIV à fadeOut() avant un autre DIV, en utilisant JQuery?

$('.level3').live('mouseleave', function(){ 

    $('.level3').delay(2300).fadeOut(250); 

    if($('.level3:hidden')){ 
     $('.level2').delay(2300).fadeOut(250); 
    } 
    }) 

Toute aide est grealty apprécié, Merci

Répondre

1

Nooon, pourquoi comme ça? Utilisez le rappel! Tout d'abord cacher Level3, et ajouter le rappel qui cache niveau 2:

$('.level3').fadeOut(250, function(){$('.level2').fadeOut(250);}); 

fonction de rappel function(){$('.level2').fadeOut(250);} qui cache .level2 sera appelée que lorsque $('.level3').fadeOut() est terminé, autrement dit, quand .level3 est caché.

Regardez également>THIS <. Cela vous aidera à comprendre comment fonctionne l'API jQuery.

+0

Merci un billion ... LOL Désolé, je suis un novice à JQuery – Nasir

+0

Vous êtes les bienvenus. Je serais heureux si vous marquiez ma réponse comme acceptée ... =) – Cipi

0

essayez ceci:

$('.level3').live('mouseleave', function(){ 
    if($('.level3:hidden')){ 
     $('.level2').fadeOut(250); 
    } 
    else{ 
     $('.level3').fadeOut(250); 
     $('.level2').delay(250).fadeOut(250); 
    } 
}) 
Questions connexes