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 div et cacher les autres


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Points : 20
    Points
    20
    Par défaut afficher div et cacher les autres
    J'ai créé un fichier php qui grace à une fonction javascript permet d'afficher et masquer des div.

    Je dois cliquer sur un élément spécifique d'une des lignes de mon tableau pour que la div s'affiche et je dois recliquer dessus pour qu'elle se cache.
    Le problème c'est que j'aimerais que seule une seule div soit visible en même temps ! c'est à dire que lorsque je clique sur la ligne 6 et que la div1 est affiché je veux que la div1 se masque et la div6 s'ouvre

    Je ne sais pas si je suis très clair

    voici ma fonction js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function afficherDetail(A,B)
    {	var ch;
    	ch="&a="+A+"&b="+B;
    	dest="detail"+A+B;
    	document.getElementById(dest).style.display=document.getElementById(dest).style.display=="none"?"block":"none";
    	afficherPage("det.php",ch,dest);
    }


    mon souci est donc avec les document.getElementById. Je ne sais pas du tout comment faire.

    La solution des boutons est super mais je ne veux qu'une seule fonction et que ce soit un lien direct dans mon tableau qui affiche et masque les div.

    J'éspère que vous pourrez m'aider !

    Merci d'avance

    Tchup !

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    lors du clic pour afficher une div, il te suffit de stocker son id dans une variable globale.
    Lors du clic suivant, il te suffira de masquer le div dont l'id est stocké.
    Ça t'évite d'avoir à balayer tout tes div pour les masquer
    Pense juste à tester l'existence de l'id stocké, sinon tu risques d'avoir une erreur systématique lors du 1° clic ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    merci pour cette réponse mais t'aurais pas un exemple stoplait car la je ne vois pas trop comment faire !

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par melodide Voir le message
    mais t'aurais pas un exemple stoplait car la je ne vois pas trop comment faire !
    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
    var div_precedent="";
     
    function afficherDetail(A,B)
    {var ch;
    ch="&a="+A+"&b="+B;
    dest="detail"+A+B;
     
    if (document.getElementById(div_precedent))    // Teste si le div existe
      document.getElementById(div_precedent).style.display="none";  // Le masque
     
    document.getElementById(dest).style.display=document.getElementById(dest).style.display=="none"?"block":"none";
     
    div_precedent= dest;   // Mémorise le div affiché pour le masquer lors du prochain clic
     
    afficherPage("det.php",ch,dest);
    }
    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Merci merci merci !! sa fonctionne problème résolu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2011, 20h56
  2. Réponses: 6
    Dernier message: 15/01/2011, 11h51
  3. agrandir un div, une fois les autres scripts terminés
    Par cowboydeluxe dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/10/2009, 10h25
  4. Afficher un div et cacher l'autre aprés Click
    Par fabien14 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/12/2008, 12h45
  5. Div qui perturbe les autres
    Par Garra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/05/2007, 17h30

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