2010-06-30 9 views
0

Je suis presque là mais je ne suis pas capable de résoudre le dernier problème. J'essaie de créer un menu déroulant simple avec jquery sur une page Indexhibit.jquery dropdown problème simple?

$('#menu ul li.section-title').hover(
    function() { 
    $(this).parent().children().show('fast'); 
    }, 
    function() { 
    $(this).parent().children().not(this).hide('fast'); 
    } 
); 

la structure du menu ressemble à ceci:

<ul> 
<li class="section-title">HEADER which triggers dropdown</li> 
<li>element one</li> 
<li>element two</li> 
<li>element three</li> 
</ul> 

je veux la section titre pour déclencher l'événement de vol stationnaire et il devrait afficher tous les li-enfants. Cela fonctionne bien jusqu'à présent. Cependant la navigation ne fonctionne pas tout à fait car je ne peux pas sélectionner un li-child. Chaque fois que vous passez le titre de section, toute la structure ul s'effondre à nouveau. Que dois-je faire pour NE PAS déclencher un survol si je survole chaque enfant du menu?

J'espère que je n'écris pas à confus. concerne matt

Répondre

0

Capturez l'événement Hover de l'UL et assurez-vous que vous appliquez le style Overflow: caché à l'UL externe. Ou

<ul><h2>section-title<h2> 
    <li>element one</li> 
    <li>element two</li> 
    <li>element three</li> 
</ul> 

#menu ul li { display:none } 

#menu ul { 
    overflow:hidden 
    position:absolute or float:left <-- Might need this 
} 

$('#menu ul').hover(
    function() { 
    $(this).children("li").show('fast'); 
    }, 
    function() { 
    $(this).children("li").hide('fast'); 
    } 
);