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 :

[Probl�me] Avec un javascript pour montrer/cacher un div


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par d�faut [Probl�me] Avec un javascript pour montrer/cacher un div
    salut � tous, bon voil�, j'utilise ce js pour montrer/cacher un div
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function montrer(etat, id) 
    	{
    	var el = document.getElementById(id);
    	if (etat == true)
    		{el.style.display="block";}
    	else
    		{el.style.display="none";}
    	}
    Je l'utilise sur des "input" de type "radio". A chaque radio, j'affiche un div diff�rent.
    Lorsque le clique sur un radio, cela affiche le div qui va bien. �a OK.
    Mais lorsque je clique sur un autre radio, le 2eme div s'affiche, mais le 1er ne disparait pas

    Je voudrai savoir comment modifier mon js pour qu'un seul div soit affich�.

    Merci d'avance, en esp�rant avoir �t� clair.

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Salut,

    Le plus simple : cr�er une fonction "reset" qui mettrait tous tes DIV en hidden. (display:none)

    Et tu appelles ta fonction reset() avant l'appel � montrer().

    A+

  3. #3
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    533
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Par d�faut
    Bonjour,

    voici les fonctions javascript que j'utilise pour cacher / afficher mes blocs. Si �a peut aider.
    s repr�sente l'id du bloc.

    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
    function afficher(s)
    {
    	document.getElementById(s).style.visibility='visible';
    	document.getElementById(s).style.position='static';
    }
     
     
    function cacher(s)
    {
    	document.getElementById(s).style.visibility='hidden';
    	document.getElementById(s).style.position='absolute';
    }
     
    function inverser(s)
    {
    		if(document.getElementById(s).style.visibility=='hidden')
    		{
    				afficher(s);
    		}
    		else
    		{
    				cacher(s);
    		}
    }

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par d�faut
    Citation Envoy� par KiLVaiDeN
    Salut,

    Le plus simple : cr�er une fonction "reset" qui mettrait tous tes DIV en hidden. (display:none)

    Et tu appelles ta fonction reset() avant l'appel � montrer().

    A+
    �a je ne sais pas faire :/ (je veux dire que que TOUS les div soit en hidden)

  5. #5
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    C'est facile : tu appelles s�quentiellement des "montrer" � false, sur tous les divs que tu veux cacher

    quelque chose comme :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function toutCacher() {
      montrer(false,'div1');
      montrer(false,'div2');
      montrer(false,'div3');
      montrer(false,'div4');
    }
    Et dans ton �v�nement JavaScript :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onClick="toutCacher(); montrer('true','div1')"
    Par exemple..

    Sinon, tu peux m�moriser � chaque appel de montrer, le div en cours d'affichage; et ainsi, optimiser tout �a, au lieu d'appeller plusieurs fois la m�me m�thode: c'est plus propre, mais bon un peu plus compliqu�. Je ne sais pas si tu vois dans l'id�e

    A+

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par d�faut
    ok je vois, mais ton syst�me n�cessite donc de connaitre tous les divs pr�sents . . . Il y a plus qu'� trouver un moyen de le r�f�rencer

    Sinon pour la deuxi�me solution, je vois ce que tu veux dire mais �a me parait au del� de mes comp�tences

  7. #7
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Citation Envoy� par draho
    ok je vois, mais ton syst�me n�cessite donc de connaitre tous les divs pr�sents . . . Il y a plus qu'� trouver un moyen de le r�f�rencer

    Sinon pour la deuxi�me solution, je vois ce que tu veux dire mais �a me parait au del� de mes comp�tences
    en haut de page :

    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
    <script language="JavaScript">
    var lastShowedDiv = 'firstValue';
     
    function montrerDiv(etat, nomDiv) {
      if( etat ) {
        if( lastShowedDiv != 'firstValue' ) // On cherche à afficher un div, il faut mettre l'ancien en hidden, si il existe
    		document.getElementById(lastShowedDiv).style.display='none';
     
    	lastShowedDiv = nomDiv;
    	document.getElementById(nomDiv).style.display='block';
      }
      else {
    	document.getElementById(nomDiv).style.display='none';
      }
     
    }
    </script>

  8. #8
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    bon, restons calmes et n'ayons pas l'impression de parler dans le vide;
    en int�grant les nouvelles "contraintes", �a donnerait �a?

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>...</title>
     
    <style type="text/css">
     
    #d0, #d1, #d2 {
    display:none;
    }
     
    </style>
     
     
    </head>
     
    <body>
     
     
    <p style="margin-bottom:50px;width:200px;text-align:center;border:solid 1px #000000">
    <input type="radio" name="r" value="1" />bouton 1<br />
    <input type="radio"  name="r" value="2" />bouton 2<br />
    <input type="radio"  name="r" value="3" />bouton 3</p>
    </p>
     
    <div id="d0">Vous avez cliqué sur le premier bouton.<br />
    <input type="radio" name="r0" value="1" />choix 1 du premier menu<br />
    <input type="radio"  name="r0" value="2" />choix 2 du premier menu<br />
    <input type="radio"  name="r0" value="3" />choix 3  du premier menu
    </div>
    <div id="d1">Vous avez cliqué sur le deuxième bouton.<br />
    <input type="radio" name="r1" value="1" />choix 1 du deuxième menu<br />
    <input type="radio"  name="r1" value="2" />choix 2 du deuxième menu<br />
    <input type="radio"  name="r1" value="3" />choix 3 deuxième menu
    </div>
    <div id="d2">
    Vous avez cliqué sur le troisième bouton.<br />
    <input type="radio" name="r2" value="1" />choix 1 du troisième menu<br />
    <input type="radio"  name="r2" value="2" />choix 2 du troisième menu<br />
    <input type="radio"  name="r2" value="3" />choix 3 du troisième menu
    </div>
     
     
    <script type="text/javascript">
     
    var lequel;
    var ra=document.getElementsByName("r");
     
    for(i=0;i!=ra.length;i++){
    	ra[i].ind=i;
    	ra[i].onclick=function(){
    		if(lequel){
    			lequel.style.display="none";
    		}
     
    		lequel=document.getElementById("d"+this.ind);
    		lequel.style.display="block";
     
     
    	}
    }
     
     
    </script> 
     
    </body>
    </html>

  9. #9
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par d�faut
    d�sol� javatwister, mais tu donne ton code sans explication ni rien, c'est pas �vident... m'enfin je vais essayer de d�chiffrer �a.

  10. #10
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut


    d�sol�, c'est une habitude que j'ai sur les forums: si tu regarde bien, tu verras qu'il s'agit d'une page compl�te ... d�sol� de ne pas avoir mis le r�sultat en ligne, j'oublie parfois

    http://javatwist.imingo.net/radio.htm

  11. #11
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 34
    Par d�faut
    Citation Envoy� par javatwister


    d�sol�, c'est une habitude que j'ai sur les forums: si tu regarde bien, tu verras qu'il s'agit d'une page compl�te ... d�sol� de ne pas avoir mis le r�sultat en ligne, j'oublie parfois
    Ok merci . . .
    En tout cas, en copiant/collant ton code, j'obtiens pas vraiment ce que je veux. Il faudrai que quand je clique sur "choix 1 du troisi�me menu" par exemple, �a ouvre une autre ligne de radio.

  12. #12
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut


    quelqu'un pour prendre le relais, pendant que je mets � jour l'exemple?


  13. #13
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    JT la prochaine fois on va te demander d'aller le taper sur l'�cran de celui qui � pos� la question ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  14. #14
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    ouais... remarque j'ai un peu de temps aujourd'hui alors si c'est pas trop loin...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probl�me de code javascript pour une vue 360�
    Par tomguiss dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 14/03/2006, 22h50
  2. [MySQL] probl�me avec 2 requetes pour 1 m�me tableau
    Par guy2004 dans le forum PHP & Base de donn�es
    R�ponses: 8
    Dernier message: 03/11/2005, 12h50
  3. R�ponses: 2
    Dernier message: 17/10/2005, 22h16
  4. probl�mes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    R�ponses: 1
    Dernier message: 02/09/2005, 15h22
  5. [tomcat] [jsp] Probl�me avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    R�ponses: 3
    Dernier message: 01/07/2004, 09h54

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