IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

menu déroulant, les sous-menus ne sont pas enroulés au chargement de la page


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Par défaut menu déroulant, les sous-menus ne sont pas enroulés au chargement de la page
    Bonjour à tous.

    Voilà, j'ai réussi à trouver un menu déroulant en jquery. Je l'ai adapté à mon menu, tout marche niquel sauf un seul petit truc : les sous-menus qui sont censés être enroulés au chargement de la page ne le sont pas : http://img263.imageshack.us/img263/529/siteyt.jpg.

    Cependant, tout marche niquel quand on passe la souris sur un des boutons, ils se réenroulent parfaitement.

    En gros, c'est la position initiale qui pose problème. Et je pense que pour ça, uniquement le script jquery devrait être problématique, je le joins ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    var obj = null;
     
    function checkHover() {//fonction de disparition
    	if (obj) {
    		obj.children('ul').fadeOut('fast');	
    	} //if
    } //checkHover
     
    $(document).ready(function() {
    	$('#Nav > li').hover(function() {
    		if (obj) {//si l'objet est présent, il est déroulé, donc on le fait disparaitre
    			obj.children('ul').fadeOut('fast');
    			obj = null;
    		} //sinon, on le fait apparaitre lorsque l'on passe la souris dessus
     
    		$(this).children('ul').fadeIn('fast');
     
    	}, function() { //on fait disparaitre si on est plus sur l'élément au bout de 0 seconde
    		obj = $(this);
    		setTimeout(
    			"checkHover()",
    			0); // si vous souhaitez retarder la disparition, c'est ici
    	}), $('.Menu > li').hover(function(){//fonction qui fait "clignoter une fois" l'entrée du menu au passage de la souris
    		$(this).fadeTo('slow', 0.3);
    		$(this).fadeTo('normal', 1);});
    });
    Merci par avance pour vos aides.
    Bonne soirée.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Par défaut
    Bonsoir.

    J'ai résolu tout seul mon problème en rajoutant une fonction fadeOut() au body onload de la page. Pas très classe, mais ça marche.
    J'aimerai quand même comprendre pourquoi ce script jquery ne faisais pas disparaître ces divs automatiquement au chargement de la page...?

    Merci quand même, bonne soirée.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/08/2013, 17h06
  2. Menu CSS : les sous menus ne s'affichent pas
    Par pci130 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/05/2009, 18h33
  3. menu déroulant (avec sous menus)
    Par devlopassion dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 14/04/2008, 11h55
  4. [DOM] Menu déroulant et DOM. Afficher les sous-menus cachés
    Par glenouve dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/11/2007, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo