Afficher / Masquer une Div

Résolu/Fermé
Denver - 19 mai 2011 à 10:36
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 - 19 mai 2011 à 14:15
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

Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
Modifié par Steefif le 19/05/2011 à 11:16
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.
0
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 "
0
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
Modifié par Steefif le 19/05/2011 à 12:03
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
0
Super ca marche " if(tabDiv[i].id == thingId) "

1000 mercis a toi
0
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
19 mai 2011 à 14:15
bah de rien =)
Si tu as d'autres soucis, n'hésite pas
0
m3allem58 Messages postés 58 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 7 janvier 2014
19 mai 2011 à 12:10
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+.
0