Afficher/cacher une div

Résolu/Fermé
elect31 Messages postés 8 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 2 mars 2017 - Modifié par elect31 le 25/02/2017 à 20:19
elect31 Messages postés 8 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 2 mars 2017 - 2 mars 2017 à 09:06
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

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