Peut-on faire 2 actions avec un seul onclick?

Résolu
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -  
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
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 689 Date d'inscription   Statut Membre Dernière intervention   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 401 Date d'inscription   Statut Membre Dernière intervention  
 
merci je ne connaissais pas bien la façon d'écrire
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   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 401 Date d'inscription   Statut Membre Dernière intervention  
 
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 1189 Date d'inscription   Statut Membre Dernière intervention   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 401 Date d'inscription   Statut Membre Dernière intervention  
 
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 1189 Date d'inscription   Statut Membre Dernière intervention   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 401 Date d'inscription   Statut Membre Dernière intervention  
 
AH OUI exact les parenthèses ... merci
0