Afficher / Masquer une Div [Résolu/Fermé]

Signaler
-
Messages postés
614
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
15 février 2013
-
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

Messages postés
614
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
15 février 2013
17
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.
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 "
Messages postés
614
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
15 février 2013
17
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
Super ca marche " if(tabDiv[i].id == thingId) "

1000 mercis a toi
Messages postés
614
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
15 février 2013
17
bah de rien =)
Si tu as d'autres soucis, n'hésite pas
Messages postés
58
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
7 janvier 2014

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+.