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 :

problemme su un ppel d'une fonction javascipt


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut problemme su un ppel d'une fonction javascipt
    salut.
    j'ai créer un menu déroulant avec des listes presque tous marche bien sauf que le code javascript est exécuter même si je clique les items du sous menu

    code la fonction javascript.
    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
    function afficheMenu(obj){
     
    	var idMenu     = obj.id;
    	var idSousMenu = 'sous' + idMenu;
    	var sousMenu   = document.getElementById(idSousMenu);
     
    	/*****************************************************/
    	/**	on cache tous les sous-menus pour n'afficher    **/
    	/** que celui dont le menu correspondant est cliqué **/
    	/** où 4 correspond au nombre de sous-menus         **/
    	/*****************************************************/
    	for(var i = 1; i <= 4; i++){
    		if(document.getElementById('sousmenu' + i) && document.getElementById('sousmenu' + i) != sousMenu){
    			document.getElementById('sousmenu' + i).style.display = "none";
    		}
    	}
     
    	if(sousMenu){
    		//alert(sousMenu.style.display);
    		if(sousMenu.style.display == "block"){
    			sousMenu.style.display = "none";
    		}
    		else{
    			sousMenu.style.display = "block";
    		}
    	}
     
    }
    Code XHTML

    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
     <ul id="menu">
         <li id="menu1" class="menu" onclick="afficheMenu(this)"><a href="#">Véhicules</a>
            <ul id="sousmenu1" style="display:none">
              <li class="sousmenu"><a href="ajoutvh.php">Ajouter</a></li>
              <li class="sousmenu"><a href="#">Modifier</a></li>
              <li class="sousmenu"><a href="listevh.php">Lister</a></li>
              <li class="sousmenu"><a href="#">Supprimer</a></li>
          </ul></li>
         <li id="menu2" class="menu" onclick="afficheMenu(this)"><a href="#">Clients</a>
            <ul id="sousmenu2" style="display:none">
              <li class="sousmenu"><a href="#">Ajouter</a></li>
              <li class="sousmenu"><a href="#">Modifier</a></li>
              <li class="sousmenu"><a href="#">Lister</a></li>
              <li class="sousmenu"><a href="#">Supprimer</a></li>
          </ul></li>
         <li id="menu3" class="menu"><a href="#">Dossiers</a></li>
         <li id="menu4" class="menu"><a href="#">Quiter</a></li>
       </ul>
    le problèmes c'est que si je clique l'items ajouter ou modifier je ne veut pas que le sous menu soit cacher.
    a+.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    Salut,

    ton évènement étant placé sur la balise <li> il s'applique a tout ce qui est dedans. Du coup, il faut juste que tu déplaces ton évènement onclick sur ta balise <a>.


    Ca doit donner un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li id="menu1" class="menu"><a href="#" onclick="afficheMenu(document.getElementById('menu1'))">Véhicules</a>
    a+

  3. #3
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    je vous remercie pour votre réponse, j'ai fais ce que vous comme vous l'avez dit bont sa a marché mais avec un autres inconvénient lorsque je bascule d'un menu a un autre il me faut deux clique un pour fermer le menu précédent est un un autre pour l'ouvrir.

    a+.

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Il faut également ajouter la fonction sur le "menu2" comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li id="menu2" class="menu" ><a href="#" onclick="afficheMenu(document.getElementById('menu2'))">Clients</a>

  5. #5
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    ça ma marche nickel je me demande comment j'ai pu louper sa .

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

Discussions similaires

  1. Appel à une fonction interne à un objet javascipt depuis cet objet
    Par actiproj dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/03/2014, 19h36
  2. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24
  3. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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