2012-07-04 5 views
-2

Je ne peux pas obtenir le menu jquery pour fonctionner comme il se doitcant get travail menu vol stationnaire jquery

Quand je passe la souris classe .trigger est glisse vers le bas, mais quand je vais avec ma souris glisser vers le haut et vers le bas tout le temps.

LIEN AVEC LE SITE WEB: HERE

Jquery

<script type="text/javascript"> 
    $(document).ready(function() { 

     $('.sub_menu').hide(); 

     $('.trigger,.sub_menu').mouseenter(function() { 
     //show its submenu 
      $('.sub_menu').slideDown(300); 
     }); 

     $('.sub_menu,.trigger').mouseleave(function() { 
     //show its submenu 
      $('.sub_menu').slideUp(300); 
     }); 


    }); 
</script> 

HTML

<div id="header"> 
    <div class="container"> 
     <a href="index.php"><h1 id="logo">Dick van Leeuwen Financieel Consult</h1></a> 

     <div id="nav"> 
      <ul class="main_menu"> 
       <li><a href="#">Home</a></li> 
       <li> 
        <a href="#" class="trigger">Hypotheken</a> 
        <ul class="sub_menu"> 
         <li><a href="#">Hypotheekvormen</a></li> 
         <li><a href="#">Hyporheek rente</a></li> 
         <li><a href="#">Nationale hypotheek garantie</a></li> 
        </ul> 
        <div class="clear"></div>      
       </li> 
       <li><a href="#">Verzekeringen</a></li> 
       <li><a href="#">Downloads</a></li> 
       <li><a href="#">Contact</a></li> 
      </ul> 
     </div><!-- nav --> 
    </div><!-- container --> 
</div><!-- header --> 

S'il vous plaît aidez-moi rester coincé pendant environ 5 heures maintenant.

+0

Bienvenue sur SO. Publiez un code spécifique avec lequel vous avez des problèmes, pas des liens vers une page et laissez-nous faire la chose inverse-ingénierie pour vous. Voici un exemple de question valide: http://stackoverflow.com/questions/6962658/randomize-setinterval-how-to-rewrite-same-random-after-random-interval :) –

+0

Cela peut aider: http: // stackoverflow.com/questions/1273566/how-do-i-check-if-the-mouse-is-over-an-element-in-jquery –

+0

désolé ce n'est pas ce que je voulais dire – Julez

Répondre

0

vous pouvez faire du li votre déclencheur au lieu du a. De cette façon vous ne devriez pas obtenir l'événement mouseleave lors du survol de la sub_menu:

<li><a href="#">Home</a></li> 
     <li class="trigger"> 
      <a href="#">Hypotheken</a> 
      <ul class="sub_menu"> 
       <li><a href="#">Hypotheekvormen</a></li> 
       <li><a href="#">Hyporheek rente</a></li> 
       <li><a href="#">Nationale hypotheek garantie</a></li> 
      </ul> 
      <div class="clear"></div>      
     </li> 
     <li><a href="#">Verzekeringen</a></li> 
     <li><a href="#">Downloads</a></li> 
     <li><a href="#">Contact</a></li> 

puis changez js que:

$('.trigger').mouseenter(function() { 
    $('.sub_menu').slideDown(300); 
}).mouseleave(function() { 
    $('.sub_menu').slideUp(300); 
}); 
+0

Salut votre solution fonctionne aussi !! : D – Julez

+0

Mais il y a encore un petit problème si vous allez dans le sous-menu et vous montez avec votre souris l'événement se déclenche à nouveau – Julez

+0

@ user1502014 pourriez-vous mettre à jour votre site afin que nous puissions l'essayer? – Andy

0

Ce qui suit devrait résoudre votre problème.

$("a.trigger").parent().hover(function(e) { 
    //when over the li (could be the a or sub_menu) 
    $(this).find(".sub_menu").slideDown(300); 
},function(e) { 
    //when leaving the li 
    $(this).find(".sub_menu").slideUp(300); 
}); 
+0

omg youre awsome ça marche !!! : D – Julez

+0

Seul petit problème est que si vous allez dans le menu et monter avec votre souris l'événement se déclenche à nouveau. – Julez