Afficher/cacher une div

Résolu
elect31 Messages postés 9 Statut Membre -  
elect31 Messages postés 9 Statut Membre -
Bonjour à tous
Je suis archi débutant en javascript mais essaye de comprendre ce que je fais.
J'utilise un script trouvé sur le net pour afficher une div en cliquant sur une carte mappée.
Mon exemple est visible ici
Dans mon exemple, j'ai deux area, une rouge et une verte. Si je clique sur rouge, une div s'affiche et si je clique sur vert une autre div s'affiche par dessus mais ne me ferme pas la première.
Le code javascript:
<script type="text/javascript">
function switchDiv(id)
{
divInfo = document.getElementById(id);
if (divInfo.style.display == 'none')
divInfo.style.display = 'block';
else
divInfo.style.display = 'none';
}
</script>


les deux div :
<div class="rouge" id="rouge" style="display: none;"><span class="motcle">Les établissements du rouge: </span></div>
<div class="vert" id="vert" style="display: none;"><span class="motcle">Les établissements du vert:</span></div>



J'ai bien pensé à un boucle du genre for ...each qui testerait tous les divInfo.style.display mais ne sais pas la rédiger. De plus, j'ai lu que les boucles for...each ne pouvaient plus être utilisée maintenant.
Je ne sais pas comment faire.
Merci de votre aide.

A voir également:

2 réponses

elect31 Messages postés 9 Statut Membre 1
 
Merci de votre réponse.
Dans l'intervalle, j'avais trouvé une solution adaptée à mon cas.
<script>function toggleDiv(TypeDiv, Numero, TotalNB){ 
var div = TypeDiv+Numero;
for(i = 1; i <= TotalNB; i++) {
if(document.getElementById(TypeDiv+i) == document.getElementById(div)) {
var DivClic = document.getElementById(div).style;
(DivClic.display == "none") ? DivClic.display="block":DivClic.display="none";
}
else {
var AutreDiv=document.getElementById(TypeDiv+i).style;
AutreDiv.display="none";
}
}
}
</script>
1
claudine13 Messages postés 34 Statut Membre
 
Bonjour,

Je ne suis pas sûre d'avoir bien compris, mais peut être:

if (id == "rouge") {
document.getElementById('divAafficher').style.display='block';
document.getElementById('divAcacher').style.display='none';
}

PS: on a pas de lien vers l'exemple dans votre question
0