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

JavaScript Discussion :

Fermer un sous-menu déroulant


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut Fermer un sous-menu déroulant
    Bonjour,

    Je m'occupe d'un site animé par une petite équipe de bénévoles et consacré au Diaporama Créatif Court.
    Je donne l'adresse pour que vous puissiez récupérer la source ( et non pour spamer !) : http://sitedudccn.com/accueil.php

    J'ai un menu déroulant horizontal. Je n'arrive pas à trouver le code pour fermer les fenêtres des sous-menus.
    Quelqu'un peut-il nous aider ?

    Merci
    Voici le début et la fin du code utilisé pour le menu déroulant:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <!--DEBUT  MENU DEROULANT  --> 
    <script type="text/javascript">
     
    window.onload=montre;
    function montre(id) {
    var d = document.getElementById(id);
    	for (var i = 1; i<=10; i++) {
    		if (document.getElementById("smenu"+i)) {document.getElementById("smenu"+i).style.display="none";}
    	}
    if (d) {d.style.display="block";}
    }
     
    </script>
     
    <div id="menu">
    	<dl>
    		<dt onmouseover="javascript:montre();"><a href="http://sitedudccn.com/accueil.php" title="Back to the home page" class="petittitre">Accueil</a></dt>
    	<dt onmouseover="javascript:montre();"><a href="http://sitedudccn.com/aides.html" title="Help for the realization of a digital slide show" class="petittitre">Aides à la réalisation</a></dt>
     
     
    	</dl>
     
    	<dl>			
    		<dt class="petittitreb" onmouseover="javascript:montre();"><a href="http://sitedudccn.com/espce/" title="Towards the forum and analysis of DCCN" target="_blank" class="petittitre">Forum et Analyses</a></dt>
    		<dt class="petittitreb" onmouseover="javascript:montre();"><a href="http://sitedudccn.com/VISUALISATION/terrerouge.php" title="Display immediatly
     a DCCN" class="petittitreb">Visualisation directe</a></dt>
     
    	</dl>
     
     
    	<dl>	
    		<dt class="petittitreb" onmouseover="javascript:montre('smenu3')
     
    		   ;
     
    .......
    ........
    ........
    ........		
     
    		<dt class="petittitreb" onmouseover="javascript:montre('smenu6');"title="Links - Festivals and galas of french DCCN">Liens - Festivals
     
            <dd id="smenu6">
    			<ul class="petittitreb">
     
    				<li><a href="liens.html"> Liens </a></li>
    				<li><a href="festivals.html">Festivals et galas </a></li>
     
    		  </ul>
    	    </dd>
    </dt>
     
     
     
     
    		<dt class="petittitreb" onmouseover="javascript:montre('smenu7');"title="About this Site">Le Site du DCCn
    		<dd id="smenu7">
    			<ul class="petittitreb">
     
    				<li><a href="objectifs.html">Objectifs</a></li>
    				<li><a href="historique.html"> Historique</a></li>
    				<li><a href="qui.html"> Qui sommes nous?</a></li>
    				<li><a href="Proposition_DCCN.html"> Proposer un DCCN </a></li>
    				<li><a href="abonnement.html"> S'inscrire aux news</a></li>
    				<li><a href="mises_en_ligne.php"> Calendrier</a></li>
    				<li><a href="faq.html"> Foire aux questions</a></li>
    				<li><a href="http://sitedudccn.com/ECHANGES/accueil_ECHANGES.php"> ESPACE ÉCHANGES</a></li>
    				<li><a href="http://sitedudccn.com/EP/index.html"> ESPACE PRIVÉ</a></li>
     
    		  </ul>
    	    </dd>
    	  </dt> </div>
     
     
    <!--FIN MENU DEROULANT  -->

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Horreur du javascript !

    Il faut que tu ajoutes des evenements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onmouseout="javascript:montre();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut
    Merci, sabotage, de ta réponse.
    Mais où faut-il placer ton code "onmouseout="javascript:montre();" ?
    Je l'ai placé plusieurs fois et à différents endroits de ma page et cela ne fonctionne pas !
    Re-help ! Merci.
    Horreur du Java-script ? Existe-t-il un bon script de menu déroulant en PHP ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="menu" onmouseout="montre();">
    Sinon :
    Existe-t-il un bon script de menu déroulant en PHP ?
    Je vais essayer de résumer :
    PHP est un langage serveur... il ne peut donc pas gérer les événements coté client, donc la réponse est NON, il n'y a ni de bons ni de mauvais scripts php pour les menus déroulant !!!

    En revanche, il existe de très bonnes solutions en CSS
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    J'espère que t'as pas essayé ma solution car elle est fausse...
    En fait, le truc chiant dans le code, c'est que pour arriver sur le sous-menu, tu passes par beaucoup d'éléments, donc le mouseover est facile à gérer, mais le mouseout un peu plus complexe...

    Une solution qui semble fonctionner :
    -> Tu oublies mon message précédent
    -> Tu ajoutes à chaque dl et dd ayant un sous menu un onmouseout="montre()"
    -> Tu ajoutes à chaque dt ayant un sous menu un onmouseover="montre('id_du_sousmenu')"
    -> Tu ajoutes à chaqueli un onmouseout="montre('id_du_sousmenu')"
    -> Tu testes...
    -> Au passage tu en profites pour virer tous les javascript: dans les onmoueover (c'est inutile)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Par défaut
    Pendant un certain temps......(Hum!!!) j'ai pensé abandonner....
    Et j'ai voué Bovino aux gémonies.....
    Mais:
    Le principe était là!
    Juste une petite erreur.
    C'est:
    <dl onmouseover="montre('ID_sousmenu'')" >
    <dt onmouseover="montre();"
    <dd id="'ID_sousmenu'" onmouseout="montre()">
    <li onmouseout="montre('ID_sousmenu')">

    Grand Merci Bovino !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Position sous-menu déroulant
    Par Bertrand79 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 15/09/2008, 15h06
  2. Barre de menu et sous-menu déroulant
    Par Ginko dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 04/07/2008, 07h08
  3. sous menu déroulant - IE & FF
    Par pop_up dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 14/11/2007, 15h36
  4. Comment placer un sous menu déroulant
    Par boo64 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 10/01/2007, 23h26

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