Afficher/cacher une div

Résolu/Fermé
Messages postés
8
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
2 mars 2017
-
Messages postés
8
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
2 mars 2017
-
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.

2 réponses

Messages postés
8
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
2 mars 2017
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>
Messages postés
32
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
22 juin 2017
2
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