Afficher / Masquer une Div

Résolu
Bonjour à tous,

j'ai besoin d'aide sur une fonction javascript qui me permet d'afficher ou de masque une div.

toutefois j'aimerais que lorsque une div est dors et déjà ouverte et que je décide d'en ouvrir une autre il me ferme la précédente ( je sais pas si je suis clair )

Voici le code qui je pense pourra vous aider

/*
<script>
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
</script>
*/

Merci d'avance pour votre aide

2 réponses

  1. Perso j'utiliserai quelque chose comme :

    function visibilite(thingId) {  
       var tabDiv= document.getElementsByTagName("div");  
       var n=tabDiv.length;  
       for(i=0;i<n;i++){  
             if(tabDiv[i].id == "thingId")  
             {  
                   tabDiv[i].style.display = "block";  
             }  
             else  
             {  
                   tabDiv[i].style.display = "none";  
             }  
        }  
    } 


    A tester.
    Dis moi si ça plante je regarderai ça mieux que comme ça.

    La vie c'est comme une boite de chocolat, on ne sait jamais sur quoi on va tomber.
    1. Malheureusement cela ne marche pas
      cela me permet d'afficher la "div " une fois et de bloquer sa fermeture
      mais pas de le fermer automatiquement lorsque j'ouvre une autre "div "
    2. test cette page qui marche chez moi :

      <HTML> 
      
      <HEAD> 
        <META http-equiv='Content-Type' content='text/html; charset=utf-8'>  
        <title>home</title>  
         
      </HEAD> 
      
      
      <body> 
      
       <div id="toto" style="display:none"> 
        toto 
       </div> 
       <div id="titi" style="display:none"> 
        titi 
       </div> 
       <input type="button" value="toto" onclick="visibilite('toto')"/> 
       <input type="button" value="titi" onclick="visibilite('titi')"/> 
      </body> 
      
      </html> 
      


      en fait j'ai mis des guillemets en trop ici : if(tabDiv[i].id == thingId)
      pas de guillemet autour de thingId
    3. Super ca marche " if(tabDiv[i].id == thingId) "

      1000 mercis a toi
    4. bah de rien =)
      Si tu as d'autres soucis, n'hésite pas
  2. Prenons comme exemple 2 div ayant deux id différents :

    <div id="id1">
    <div id="id2">

    puis ds js; tu ajoutes (étant donné id1 est ouverte , on la ferme et on ouvre id2 )

    document.getElementById('id1').style.display = 'none';
    document.getElementById('id2').style.display = '';

    je l'ai essayé et ça marche.

    A+.