IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afficher/masquer une div


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Afficher/masquer une div
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <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. #2
    Membre régulier
    Homme Profil pro
    developpeur web et android
    Inscrit en
    Octobre 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : developpeur web et android
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2014
    Messages : 64
    Points : 104
    Points
    104
    Par défaut Afficher/masquer une div
    Si je comprends bien ce que tu veux faire, tu veux afficher le div a id (rouge) avec l'area rouge et l'autre avec l'area vert sans changer l'etat de l'un a l'execution de l'autre. si c'est comme ça voici ce que je te propose :

    - Javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <script>
    	var areaVert = document.getElementById("areaVert"), areaRouge = document.getElementById("areaRouge"), divAreaVert = document.getElementById("vert"), divAreaRouge = document.getElementById("rouge");
     
    	areaVert.addEventListener("click",function(){
    		changerEtat(divAreaVert);
    	})
    	areaRouge.addEventListener("click",function(){
    		changerEtat(divAreaRouge);
    	})
    	function changerEtat(elementDiv){
    		if(elementDiv.style.display != "none"){
    			elementDiv.style.display = "none";
    		}
    		else{
    			elementDiv.style.display = "block";
    		}
    	}
    </script>
    Html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <area id ="areaVert"></area>
    <area id ="areaRouge"></area>
    <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>


  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 059
    Points : 44 584
    Points
    44 584
    Par défaut
    Bonjour,
    @paoli121 :
    • Oublie <script type="javascript"> pour mettre simplement <script>.

    • Attention également à la casse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    divAreaVert = document.getElementById("vert");  // et non Vert

  4. #4
    Membre régulier
    Homme Profil pro
    developpeur web et android
    Inscrit en
    Octobre 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : developpeur web et android
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2014
    Messages : 64
    Points : 104
    Points
    104
    Par défaut
    ok merci

Discussions similaires

  1. Bug afficher ou masquer une div
    Par l.laurent60 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2015, 10h06
  2. Afficher/Masquer une div
    Par Evelyne31 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 07/11/2012, 14h45
  3. Afficher / masquer une div
    Par laurent94 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/12/2011, 15h47
  4. Afficher/masquer une div sur une autre frame
    Par jerome69003 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/11/2009, 18h32
  5. Afficher/Masquer une div
    Par philbona dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 08/02/2007, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo