Jquery

Résolu/Fermé
Trema - Modifié par Trema le 18/07/2011 à 18:45
 Trema - 18 juil. 2011 à 19:48
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 lundi 15 novembre 2010 Statut Membre Dernière intervention 25 mars 2017 10
18 juil. 2011 à 19:14
hover pas mouseover
0
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 lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
18 juil. 2011 à 19:33
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 dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
18 juil. 2011 à 19:43
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
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