Peut-on faire 2 actions avec un seul onclick?

Résolu
Debutant en webmastering Messages postés 444 Statut Membre -  
Debutant en webmastering Messages postés 444 Statut Membre -
Bonjour,

j'ai un petit souci, je souhaite faire apparaître un li et une image grâce à une fonction onclick mais seule la première fonctionne ; voici le code :

html:

<ul>
........
<li id="déroulant" onclick="openMenu('sousV','imageNousSituer');">V</li>
</ul>
<ul>
<li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;">
Nous situer</a></li>
<img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;">
</ul>

et mon js:
function openMenu(id){
var v = document.getElementById(id);
if(v.style.display == "none"){
v.style.display = "block";
}else{
v.style.display = "none";
}
}

--
Signé: Debutant en webmastering

2 réponses

  1. pitxu Messages postés 708 Statut Membre 95
     
    Bonjour,

    tu passes deux ID dans ton onclick alors que ta fonction n'en interprète qu'un.
    Ta fonction devrait être maFonction(id1,id2) ...
    2
    1. Debutant en webmastering Messages postés 444 Statut Membre
       
      merci je ne connaissais pas bien la façon d'écrire
      0
  2. prosthetiks Messages postés 1309 Statut Membre 431
     
    Hello,

    Essaye ça:
    <html>
    <head>
      <title></title>
      <script type="text/javascript">
        function openMenu(id){
          id = id || [];
          for(var i in id){
            var v = document.getElementById(id[i]);
            if(v.style.display == "none"){ 
              v.style.display = "block"; 
            }else{ 
              v.style.display = "none"; 
            } 
          }
          
        } 
      </script>
    </head>
    <body>
      <ul> 
        <li id="déroulant" onclick="openMenu(['sousV','imageNousSituer']);">V</li> 
      </ul> 
      <ul> 
        <li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;"> Nous situer</a></li> 
        <img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;"> 
      </ul> 
    </body>
    <script type="text/javascript">
      document.getElementById('deroulant').addEventListener('click', function(e){clickCallback(e);}, false);
    </script>
    </html>
    
    0
    1. Debutant en webmastering Messages postés 444 Statut Membre
       
      function openMenu(id,id1){
      var v = document.getElementById(id);
      var v1 = document.getElementById(id1);
      if(v.style.display == "none") && (v1.style.display == "none"){
      v.style.display="block" && v1.style.display= "block";
      }else{
      v.style.display = "none" && v1.style.display = "none";
      }
      }

      qu'est-ce qui n'est pas correct ?
      l'html reste le même :

      <ul>
      ........
      <li id="déroulant" onclick="openMenu('sousV','imageNousSituer');">V</li>
      </ul>
      <ul>
      <li style="background-color:white;"><a href="NousSituer.php" id="sousV" style="display:none;">
      Nous situer</a></li>
      <img src="./images_polyservices/15860234.jpg" id="imageNousSituer" style="display:none;">
      </ul>
      0
    2. prosthetiks Messages postés 1309 Statut Membre 431
       
      v.style.display="block" && v1.style.display= "block";

      -->
      v.style.display="block";  
      v1.style.display= "block"; 


      Tu as pas le droit de faire un && ici ;)
      0
    3. Debutant en webmastering Messages postés 444 Statut Membre
       
      même sans pas de changement :


      function openMenu(id,id1){
      var v = document.getElementById(id);
      var v1 = document.getElementById(id1);
      if(v.style.display == "none") && (v1.style.display == "none"){
      v.style.display="block";
      v1.style.display= "block";
      }else{
      v.style.display = "none";
      v1.style.display = "none";
      }
      }
      0
    4. prosthetiks Messages postés 1309 Statut Membre 431
       
      if(v.style.display == "none") && (v1.style.display == "none"){
      -->
      if((v.style.display == "none") && (v1.style.display == "none")){

      Attention aux parenthèses...
      0
    5. Debutant en webmastering Messages postés 444 Statut Membre
       
      AH OUI exact les parenthèses ... merci
      0