Jquery

Résolu
Trema -  
 Trema -
Bonjour tout le monde,

Je débute en jquery et j'ai (déjà) des problèmes:

Je tente de bâtir un menu déroulant. Les items (li) du menu au premier niveau (ul) sont de la classe "mainItem" et les sous menu (ul aussi) sont des class="subMenu".

Mon JS:
$(function(){  

 $('.subMenu').hide(); 

 $('.mainItem').mouseover(  
 function(){  
  $(this).find('.subMenu').show();  
 });  
});


Rien ne se passe lors du survol, mais un alert() placé dans la fonction appelée par l'écouteur fonctionne sans problème... J'en déduis des problème au niveau de ma sélection, mais impossible de trouver une réponse dans les divers tutos jquery sur la toile ou même sur la doc de l'api... Qu'est-ce que j'ai raté ?!

Merci d'avance pour votre soutien


5 réponses

hervé56 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   10
 
hover pas mouseover
0
kdo
 
Bonjour, je ne comprend pas pourquoi, tu a préferer find(), à next().

essaye n peu comme ça. Moi j'ai fait un truc de c genre mais j'ai travaillé avec les ul et li. sans leurs classes
$(function(){

$('.subMenu').hide();

$('.mainItem').mouseover(
function(){
$(this).next('.subMenu').show();
});
});
0
vincebzh Messages postés 137 Date d'inscription   Statut Contributeur Dernière intervention   29
 
Salut.
Next() est a utiliser si ".subMenu" est après ".mainItem"

<span class="mainItem"></span>
<span class="subMenu"></span>


Find() si il est à l'intérieur
<span class="mainItem">
<span class="subMenu"></span>
</span>


Mais je ne pense pas que le problème vienne de la.

Supprime le ";" à la fin de la fonction.

$('.mainItem').mouseover(
function(){
$(this).next('.subMenu').show();
})
});


Utilises Firebug pour afficher les erreurs javascript.
0
MastercroW Messages postés 1094 Date d'inscription   Statut Membre Dernière intervention   163
 
Faut quand même savoir qu'il est débutant.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Trema
 
Merci pour vos réponses, next() a fonctionné, merci Kdo.
Cependant, je ne comprends pas pourquoi ça n'a pas été le cas avec find();... j'essaierai de me documenter plus en profondeur la dessus, mais si quelqu'un a une idée :)

Merci encore
0