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 :

Menu Sous menu


Sujet :

JavaScript

  1. #1
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut Menu Sous menu
    Bonjour,


    Je souhaiterais créer un menu avec des sous menu.
    Je m'explique
    Sur ma page est d'abord affiché:
    Type de magasin

    Ensuite quand je clique sur celui ci s'affiche

    Type de magasin
    Pret a porter
    chaussure

    et quand je clique sur pret a porter:

    Type de magasin
    Pret a porter
    http://mim.fr
    http://camaieu.fr
    Chaussure

    J'ai trouvé le code suivant:

    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
     
    if (document.getElementById){// retroune un élement par son  id
    document.write('<style type="text/css">\n')
    document.write('.submenu{display: none;}\n')
    document.write('</style>\n')
    }
     
     
     
    function SwitchMenu(obj){
    	if(document.getElementById){
    	var el = document.getElementById(obj);
    	var ar = document.getElementById("masterdiv").getElementsByTagName("span"); 
    		if(el.style.display != "block"){ //DynamicDrive.com change
    			for (var i=0; i<ar.length; i++){
    				if (ar[i].className=="submenu") //DynamicDrive.com change
    				ar[i].style.display = "none";
    			}
    			el.style.display = "block";
    		}else{
    			el.style.display = "none";
    		}
    	}
    }
    Avec ce code , j'arrive uniquement a afficher
    Type de magasin
    et lorque je clique dessus je parvien a afficher des liens uniquement (qui me permette de diriger l'utilisateur vers une autre page)
    Si quelqu'un pouvait m'aider parce-que je dois m'inspirer de ce code je pense....
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Pourquoi écrire le CSS de cette façon ??
    document.write() est à éviter.
    A lire : Comprendre document.write() en JavaScript

    if (document.getElementById) : Pourquoi faire ce test? Ce n'est plus vraiment d'actualité ...

    Attention aux trouvailles que l'on peut faire sur le net
    Trouver un code, c'est bien.
    Trouver un code récent, fonctionnel et robuste, c'est mieux.

    Voici une meilleure source d'inspiration

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Par défaut
    Bonjour,

    Tu l'as trouvé où ce code ? Attention sur Internet on trouve de tout, et beaucoup de code qui ne fonctionne pas (ou mal).
    Les document.write déjà, ça me parait bizarre...

    Il existe aussi des bibliothèques javascript qui gèrent très bien ce genre de menus (jQuery UI Menu par exemple).

    Edit : grillé

  4. #4
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Bonjour,

    Merci pour votre aide.


    En effet ,j'ai essayé de comprendre ce code et j'ai éliminé tout ce qui ne me parait pas important.

    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
     function SwitchMenu(obj){
     
    	var el = document.getElementById(obj);
    	var ar = document.getElementById("masterdiv").getElementsByTagName("span"); 
    		if(el.style.display != "block"){ //DynamicDrive.com change
    			for (var i=0; i<ar.length; i++){
    				if (ar[i].className=="submenu") //DynamicDrive.com change
    				ar[i].style.display = "none";
    			}
    			el.style.display = "block";
    		}else{
    			el.style.display = "none";
    		}
    	}
    }
    Mais je ne comprend pas ce que vaut ar
    J'esay JQuery ...

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Des menus en CSS/Javascript, il y en a des centaines. Inutile de réinventer la roue : http://iapdesign.com/webdev/jquery/1...-should-have/#

  6. #6
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    je comprend que je me complique la vie
    Mais j'ai déja commencé à utiliser ce code pour :

    Pret a porter
    Mim
    Camaieu

    car il suffit juste d'afficher pour magasin , les liens de magasins


    Cela fonctionne
    Or , je souhaiterai avoir un menu pour
    Type de Magasin
    Pret a porter
    Chaussures

    j'ai reussi une partie avec ce code , du coup je souhaiterais le garder pour l'autre partie...

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Par défaut
    Je n'ai pas bien compris... Tu arrives à afficher un seul niveau de menu, et tu veux afficher plusieurs niveaux ? Autant dire que ton code ne fonctionne pas du tout. Pourquoi garder un bout de code qui ne fonctionne pas ?

    Peux-tu nous montrer à quoi ressemble ton code, parce qu'on ne sait pas sur quelle structure HTML tu t'appuies pour faire ton menu ?

  8. #8
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    c'est vrai que je ne suis pas du tout clair ...
    Donc je mexplique:
    J'ai un menu comme ceci:

    Type de magasin
    Magasin


    Quand je clique sur magasin, s'affiche un ensemble de lien (j'ai utilisé le code que j'ai donné plus haut pour faire ceci) .Je le remet ici avec ds commentaires:

    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
     
    <html>
    <script type="text/javascript">
    function SwitchMenu(obj){
    	if(document.getElementById){
     
     
    		if(el.style.display != "block")
    		el.style.display = "block";
    		else
    	        el.style.display = "none";
    		                                }
                                         }
    </script>
     
    <div id="masterdiv">
       <div class="menutitle" onclick="SwitchMenu('sub1')"> 
          <?php
             
           echo "Magasin";
           ?> 
       </div>
      <span class="submenu" id="sub1">
     
    <a href="product.php">  <?php echo"Moi";  ?> </a></br>
     
      </span>	
    </div>

    J'ai donc un div qui contient :
    un div de classe menutitle(pour le css) et si je clique sur ce qu"il contient (il contient "Magasin" ), on affiche une liste de lien qui s'apelle Moi (ya pa d'interet mais c'est juste pour mon exemple).

    Maintenant je souhaite utiliser la meme chose mais pour Typ de magasin:

    Type de magasin
    Magasin de chaussure
    Magasin de pret a porter

    et ensuite par un click sur Magasin de chaussure ou Magasin de prét a porter:
    Type de magasin
    Magasin de chaussure
    la hall
    Chaussland
    Magasin de pret a porter


    J'ai fais ceci:
    crée une fonction qui permet de faire apparaitre ou masquer une partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function Swap(div){
    var Obj=document.getElementById(obj);
    if(Obj){
    if(Obj.style.display="")
    obj.style.display="none"}
    else
    Obj.style.display=""
    }



    Code pour les sous menu:


    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <html>
     
    <head><style type="text/css">
    .menutitle{
    cursor:pointer;
    margin-bottom: 5px;
    background-color:#ECECFF;
    color:#000000;
    width:140px;
    padding:2px;
    text-align:center;
    font-weight:bold;
    font-weight:bold;
    /*/*/border:1px solid #000000;/* */
    }
    .submenu{
     
     
    }
     
     
    </style>
     
    <script type="text/javascript">
     
     
    if (document.getElementById){// retroune un élement par son  id
    document.write('<style type="text/css">\n')
    document.write('.submenu{display: none;}\n')
    document.write('</style>\n')
    }
     
    function Swap(div){
    var Obj=document.getElementById(obj);
    if(Obj){
    if(Obj.style.display="")
    obj.style.display="none"}
    else
    Obj.style.display=""
    }
     
     
     
     
    }
     
    function SwitchMenu(obj){
    	if(document.getElementById){
    	var el = document.getElementById(obj);
     
    		if(el.style.display != "block")
     
    			el.style.display = "block";
    		else{
    			el.style.display = "none";
    		}
     
    }
     
     
    </script>
     
     
    </head>
     
    <div id="masterdiv">
     
         <div class="menutitle" onclick="SwitchMenu('sub1')"> 
          <?php
             
                 
           echo "Type de magasin";
              ?> </div>
    	   <span class="submenu" id="sub1">
    	<?php 	
     
     
    		$cnx = mysql_connect("localhost","root","" ) ;
        try {
        $db  = mysql_select_db( "ln" ) ;
         }
        catch (Exception $e)
        {
        die('Erreur : ' . $e->getMessage());
        }
     
     $sql_list="SELECT name_Mag_Type FROM magttype";
     $res=mysql_query( $sql_list);
     
     
     while($rows=mysql_fetch_assoc($res))
     
     {   
     
     
        ?>
    // on a mis switchmenu(sub1) donc ce qui se trouve dans sub1 ce trouve affecté par cette fonction donc disparai ou apparait au click  
    	<span class="submenu" id="sub1">
     
    // je crée un div qui aura le meme CSS que type de magasin et si je clique sur ce qu'il contient , on va faire agir la fonction Swap sur le div qui contient l'ID " s1"
    <div class="menutitle"  onclick="Swap(s1)">
     
     
    	<?php if (isset($rows['name_Pdt_Type'])) echo $rows['name_Pdt_Type']; ?></a></br>
    	</div>
     
       <div id="s1" >
       <?php echo "moi"; ?>
       </div>
     
       </span>
    <?php } ?>
    </br></br>
     
    </div>
    </html>
    En gros mon code affichera :

    Type de magasin
    Magasin de vetement (present dans la base de données)
    Magasin de chaussure (présent dans la base de données)

    Et quand je clique sur Magasin de vetement

    Type de magasin
    Magasin de vetement
    moi
    Magasin de chaussure


    Je sais pas si vous comprenez...j'ai du mal à expliquer ...

  9. #9
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Deja quand je fais simple:
    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
    <html>
    <head><style type="text/css">
    .menutitle{
    cursor:pointer;
    margin-bottom: 5px;
    background-color:#ECECFF;
    color:#000000;
    width:140px;
    padding:2px;
    text-align:center;
    font-weight:bold;
    font-weight:bold;
    /*/*/border:1px solid #000000;/* */
    }
    .submenu{
     
     
    }
     
     
    </style>
    <script type="text/javascript">
     
     
     
    function Swap(div){
    <?php echo "yes"; ?>
    }
     
     
    </script>
     
     
     
     
     
    <div class="menutitle"  onclick="Swap(s1)" >
     
     
    	<?php echo "moi"; ?></a></br>
    	</div>
     
     
       </html>
    Il s'affiche: Moi dans un encadré et lorque la souris passe dessus j'ai une main mais quand je clique , je n'ai pas l'affiche de "yes"...

  10. #10
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Faire simple, faire simple ... un peu trop la je crois
    Affiche le code généré par le navigateur. (et non le code php) ! Et tu te rendras vite compte de ce qui ne va pas.
    A vue de nez, ce que tu viens de poster doit ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Swap(div){
    yes;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="menutitle"  onclick="Swap(s1)" >
    moi</a></br>
    </div>
    body absent, head non fermé, j'en passe.

    Il va falloir revoir les rudiments des langages

  11. #11
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    j'ai revu les bases ce matin...
    et je ne vois pas mon erreur...
    et oui , tu a raison pour le code source de la page
    mais moi j'ai compris ça comme ça
    des que on clique sur le lien : on fait appel a la fonction Swap qui affiche ou non Yes...
    C'est pas correct?
    Quelles sont mes erreurs ?

    Merci d'avance

  12. #12
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Tu sembles avoir les rudiments du PHP. Je parlais des rudiments Javascript, HTML : structure d'une page pour étendre ma pensée.

    des que on clique sur le lien
    Si tu veux que le click soit actif sur le lien, il faut l'attribuer au lien ... là tu l'attribues à la div.

    on fait appel a la fonction Swap
    Très bien, mais que fait la variable javascript s1 passée en paramètre ? Où est-elle déclarée ? Est-ce qu'elle sert dans la fonction ?

    qui affiche ou non Yes
    Ou non. Ta confusion vient de l'utilisation d'echo. echo appartient au langage PHP et, dans ce cas, va écrire ce qu'on lui dit d'écrire, en l'occurrence "yes". Ce qui fait, que le contenu de ta fonction va ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Swap(div){
    yes;
    }
    Est-ce un code javascript valide ? Non.
    Comment faire pour que javascript affiche "yes", alors ? Plusieurs solutions :
    • Dans la console web (F12 sous Chrome/IE, Ctrl + Shift + K dans Firefox) : console.log('yes');
    • Dans une boite de dialogue : alert('yes');
    • Dans la page web : document.getElementById('mon_element').innerHTML = 'yes';

    Si on prend la deuxième option, ta fonction doit alors ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Swap(){
      alert('yes');
    }
    Comment faire en PHP pour que cette fonction ressemble à cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
      function Swap(){
        <?php echo "alert('yes');"; ?>
      }
    </script>
    A noter que le echo, et donc l'utilisation de PHP, ne sert pas à grand chose ! Tu n'en a pas besoin pour un exemple si simple.

  13. #13
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Oui excuse moi pour le lien je me suis trompée
    Mon code est le suivant (enfait le "yes" je l'avais mis pour simplifier mais il complique plus les choses :

    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
     
     
    // fonction qui va me permettre d'afficher ou non ce qui est contenu dans un div 
    function myFunction(obj)
    {
    obj=document.getElementById;
    if(obj){
    	var el = document.getElementById(obj);
    	if(el.style.display != "block")
    	 el.style.display="block"
    }
    }
    <div id="C" onclick=Swap(obj)>  // si on clique sur le lien contenu dans ce div on applique la fonction sur obj
    <a href=index.php> Moi </div>
    <div id="obj">
    // les choses de ce div serons caché ou pas (selon le click)
    <a href="index.php" > Moi </a>
    <a href="pop.pgp"> Pop </a>


    Tu penses que j'ai compris ?
    enfait le paramètre de Swap me sert à dire quelle partie (l'ID du div) de ce que je veux afficher ou non.

  14. #14
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Je pense que tu as compris ce que tu veux faire.
    Mais que tu t'embrouilles par manque de connaissance du langage Javascript.
    C'est pourquoi je te conseille d'aller lire les Tutoriels, notamment ceux destinés aux débutants.

    Décortiquons ta fonction :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function myFunction(obj) {
      obj=document.getElementById; // Là tu écrases le paramètre de ta fonction. Pourquoi ?
      if(obj){ // Tu tests ici si le document HTML géré par le navigateur dispose de la fonction document.getElementById
        var el = document.getElementById(obj); // Tu tentes de récupérer l'élément de la page qui a pour identifiant "obj". Or, comme tu l'as écrasé, tu fais en fait : var el = document.getElementById(document.getElementById). Crois tu que cela fonctionnera ?
        if(el.style.display != "block") // Là c'est ok. Si l'élément est bel et bien retrouvé, tu lui appliques un style "block" s'il ne l'a pas. En d'autres termes, il sera bien affiché
          el.style.display="block"
      }
    }

    L'événement onclick est toujours définis sur le div, pas sur le lien.

    je te laisse modifier ...

  15. #15
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Bonjour,


    Merci de ton aide , c'est sympa

    J'ai modifié le code de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function myFunction(obj)
    {
     
    	var el = document.getElementById(obj);
    	if(el.style.display != "block")
    	 el.style.display="block"
    }
    }
     
    <a href=index.php onclick="myFunction(obj)"> Moi </div>
    <div id="obj">
    // les choses de ce div serons caché ou pas (selon le click)
    <a href="index.php" > Moi </a>
    <a href="pop.pgp"> Pop </a>

    ça ne marche toujours pas..

  16. #16
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Pouvez vous me corriger mon code pour que quand j'appui sur un lien ou autre'Mot ' et que quand je clique dessus'ou avec la main, je click dessus), un lien apparait juste en bas?

    ça m'aiderai grandement

    Merci d'avance

  17. #17
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Attention aux balises utilisées et à la syntaxe.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=index.php onclick="myFunction(obj)"> Moi </div>
    - Une balise <a> doit avoir sa fermante associée </a> ! C'est valable pour toutes les balises fermantes.
    - Idem en Javascript. Je vois, par exemple, deux accolades } fermantes. Une seule suffit
    - Ne pas confondre valeur d'une variable et nom d'une variable. Je vois qu'il y a confusion. Dans l'exemple ci - dessus, obj semble être l'id de la div qui contient les liens à cacher/afficher. Ce n'est pas le nom d'une variable !! Il ne faut pas le passer tel quel en paramètre de la fonction.
    - Les commentaires en HTML s'écrivent ainsi : <!-- Mon commentaire HTML -->.
    A ne pas confondre avec javascript : // Mon commentaire Javascript sur une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /* 
    Mon commentaire Javascript sur plusieurs lignes
    */
    - Attention au nommage des variables, également. obj n'est pas du tout adapté, vu qu'il s'agit d'un "id". Appeler un chat un chat, et la future lecture de ce code n'en sera que plus simple.

    Un peu plus de rigueur donc et il y aura moins de problème quant au bon fonctionnement.

    Voici un exemple d'une page complète permettant d'afficher/cacher une div au click sur un lien (à copier/coller dans un fichier nu, à lancer avec le navigateur préféré, analyser le code et le comprendre. Enfin poser les questions si jamais il y en a ) :
    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
      <title>Afficher/Cacher une div au click sur un lien</title>
      <style>
        /* Ceci veut dire que l'élément HTML ayant pour id "liens" sera caché au chargement de la page */
        #liens{
          display: none;
        }
      </style>
      <script>
        /*
         * Ceci est une fonction qui permet de cacher ou afficher un élément
         */
        function basculerAffichage(id) {
          var el = document.getElementById(id);
     
          if(el.style.display != "block")
            el.style.display="block";
          else
            el.style.display="none";
        }
      </script>
    </head>
    <body>
    <h1>Afficher/Cacher une div au click sur un lien</h1>
    <!-- Le lien qui permet d'afficher/cacher. Le href ne sert à rien ici  -->
    <a href="#" onclick="basculerAffichage('liens')"> Afficher/Cacher les liens </a>
    <!-- La div qui contient les liens. Elle s'appelle donc "liens". Le style associé (voir le CSS ci dessus, permet de cacher la div au lancement de la page -->
    <div id="liens">
      <ul>
        <li><a href="index.php" > Moi </a></li>
        <li><a href="pop.php"> Pop </a></li>
      </ul>
    </div>
    </body>
    </html>

  18. #18
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Merci beaucoup!!
    Je comprend mieux
    Je m'étais embrouillée entre les variables et paramètres

    Merci!

  19. #19
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Bonsoir,

    J'ai modifié mon code ect
    mais je voudrai afficher un liens en dessous du liens "Moi" si je clique sur Moi et si je clique sur le lien "Pop" afficher un lien en dessous de Pop




    Comment pourrai je faire?
    J'ai essayé avec des div appelé liens embarqué dans d'autre mais ça ne fonbctionne pas

  20. #20
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Montre nous comment tu as fait pour que l'on puisse t'aiguiller.
    Mais, normalement, c'est le même fonctionnement que décrit au-dessus

Discussions similaires

  1. [JS] Menu, Sous-Menu, Sous-Sous-Menu, etc
    Par Epica84 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/02/2010, 14h53
  2. Menu, sous-menu, sous-sous-menu.
    Par jimmplan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/11/2008, 16h43
  3. Menu & sous menu avec survol Flash
    Par gglegrateu dans le forum Flash
    Réponses: 1
    Dernier message: 17/10/2006, 10h19
  4. Menu + sous menu
    Par sharpeye dans le forum ASP
    Réponses: 3
    Dernier message: 03/04/2006, 10h06
  5. Menu / Sous Menu
    Par lenouvo dans le forum MFC
    Réponses: 5
    Dernier message: 27/10/2004, 15h50

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