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 ou masquer des <div>


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Points : 69
    Points
    69
    Par défaut Afficher ou masquer des <div>
    Bonjour à tous,

    Je débute en javascript et me voilà confronter à un problème.
    Je souhaite afficher ou masquer plusieurs zone de texte en les "switchant"
    C'est à dire : par défaut ej vois la 1.
    Si je clique sur la 2 la 1 s'efface et la 2 apparait.
    Si je reclique sur la 1, la 2 s'efface et la 1 réapparait.

    J'ai ce code qui me permet d'afficher ou masquer les zones mais je n'arrive pas à l'adapter.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <script>
     
    function visibilite(thingId,txtAff,txtMasque)
    	{
    	var targetElement; var targetElementLink;
    	targetElement = document.getElementById(thingId) ;
    	targetElementLink = document.getElementById(thingId+'Link');
     
    	if (targetElement.style.display == "none")
    		{
    		targetElement.style.display = "" ;
    		targetElementLink.innerHTML = txtMasque ;
    		} 
    	else 
    		{
    		targetElement.style.display = "none" ;
    		targetElementLink.innerHTML = txtAff ;
    		}
    	}
    </script>
     
     
     
    <a href="javascript:visibilite('Div1','Afficher la zone 1','Masquer la zone 1');" id="Div1Link">Afficher la zone 1</a>
     
    <a href="javascript:visibilite('Div2','...ou la zone 2','Masquer la zone 2');" id="Div2Link">...ou la zone 2</a>
     
    <br />
    <div id="Div1" style="display:none;">contenu1</div>
    <div id="Div2" style="display:none;">contenu2</div>
    Voilà merci d'avance de votre aide !

    @ bientôt.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ce script ci sera sans doute plus facile à adapter ...
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <script>
     
    function visibilite(obj)
     {
      var div1=document.getElementById('Div1');
      var div2=document.getElementById('Div2');
     
    	switch (obj) {
    	              case ('Div1') : 	document.getElementById('Div2').style.display='none';
    	              					document.getElementById('Div1').style.display='block';
    	              					break;
    	              case ('Div2') : 	document.getElementById('Div1').style.display='none';
    	              					document.getElementById('Div2').style.display='block';
    	              					break;
    	}
    	}
    </script>
     
     <body>
     
    <a href="javascript:visibilite('Div1');" id="Div1Link">Afficher la zone 1</a>
     
    <a href="javascript:visibilite('Div2');" id="Div2Link">...ou la zone 2</a>
     
    <br />
    <div id="Div1" style="display:block;">contenu1</div>
    <div id="Div2" style="display:none;">contenu2</div>
     
    </html>

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    voila :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    function visibilite(thingId,txtAff,txtMasque,DivToHide)
    	{
    	var targetElement; var targetElementLink;
    	targetElement = document.getElementById(thingId) ;
    	targetElementLink = document.getElementById(thingId+'Link');
    	target2 = document.getElementById(DivToHide) ;
     
    	if (targetElement.style.display == "none")
    		{
    		targetElement.style.display = "" ;
    		targetElementLink.innerHTML = txtMasque ;
    		target2.style.display = "none" ;
    		} 
    	else 
    		{
    		targetElement.style.display = "none" ;
    		targetElementLink.innerHTML = txtAff ;
    		target2.style.display = "" ;
    		}
    	}
    </script>
    </head>
     
    <body>
    <a href="javascript:visibilite('Div1','Afficher la zone 1','Masquer la zone 1','Div2');" id="Div1Link">Afficher la zone 1</a>
     
    <a href="javascript:visibilite('Div2','...ou la zone 2','Masquer la zone 2','Div1');" id="Div2Link">...ou la zone 2</a>
     
    <br />
    <div id="Div1" style="display:none;">contenu1</div>
    <div id="Div2" style="display:none;">contenu2</div>
    </body>
    </html>
    Il ne te reste plus qu'a gèrer les libellés

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup cela fonctionne.

    Je regarde pour modifier els libellé et adapter mon code.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher ou masquer des champs dans un formulaire
    Par waltcap dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/12/2010, 23h07
  2. [XL-2007] Afficher et masquer des onglets
    Par Aliciaymilie dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2010, 14h06
  3. Afficher ou masquer des enregistrements
    Par garrinchaya dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/03/2008, 13h41
  4. Afficher et masquer des feuilles
    Par LaPanic dans le forum Excel
    Réponses: 10
    Dernier message: 05/09/2007, 11h27
  5. Impossible d'afficher ou masquer des DIV
    Par ensemblevide dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/07/2006, 13h23

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