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";
}
}

A voir également:

2 réponses

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
Debutant en webmastering Messages postés 444 Statut Membre
 
merci je ne connaissais pas bien la façon d'écrire
0
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
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
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
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
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
Debutant en webmastering Messages postés 444 Statut Membre
 
AH OUI exact les parenthèses ... merci
0