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


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Afficher / Masquer des div
    Slt à tous,
    je viens vers vous car moi et le javascript j'ai un peu de mal.

    j'ai trouvé ce code sur le net mais cela ne fonctionne pas comme je veux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function visuel (thingId) {
    	var targetElement;
    	targetElement = document.getElementById(thingId) ;
     
    	if (targetElement.style.display == "none") {
    		targetElement.style.display = "" ;
    	} else {
    		targetElement.style.display = "none" ;
    	}
     
    }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="javascript:visuel('divid');">afficher/masquer</a>
    <div id="divid" style="display:none;">contenu</div>

    Je vous explique la manipe:
    j'ai des liens qui sont afficher via une requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $nc=0;
    $req2 = mysql_query("SELECT * FROM link ORDER BY ordresouscat") or die("Erreur SQL2 !"); 
    while($data2 = mysql_fetch_array($req2)) {
    $lien=$data2['souscat'];
     
    echo '»<a href="javascript:visuel(\''.$nc.'\');">'.$lien.'</a><br />';
    <div id="divid'.$nc.'" style="display:none;">- '.$descrip.' <br /></div>
    }
    $nc++;

    je voudrais que tous les liens s'affiche les un en dessous des autres (ca la requete s'en charge), et pouvoir afficher la description sous le lien en clinquant sur le lien correspondant , mais que les autres descriptions soient masquée. que l'on puisse voir toujours uniquement une seule description à la fois.

    Je sais pas si je me suis fait bien comprendre.
    Si quelqu'un peut me donner un coup de main c'est pas de refus.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ce sont mes yeux ou tu donnes le même id à plusieurs div ???
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de Cornholio
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Par défaut
    En effet, il faut que dans ta boucle tu génères un id unique pour chaque div.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $i = 0;
    while($data2 = mysql_fetch_array($req2)) {
         $lien=$data2['souscat'];
         $i++;
         echo '<a href="javascript:visuel(\'divid'.$i.'\');">'.$lien.'</a><br />';
         echo '<div id="divid'.$i.'" style="display:none;">- '.$descrip.' <br /></div>';
    }

  4. #4
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Non,
    mais comment faire pour donner des id differents ?

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Ahhh
    Ok j'ai pigé

    je rajoute un petit compteur mais cela ne fonctionne pas plus car lorsque j'ouvre une description ca ne masque pas les autres.

    J'ai modifié le code... pour le compteur

  6. #6
    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
    Par défaut
    il te faut une boucle pour masqué tous les autres

  7. #7
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Tu peux m'aiguiller un peu avec un bout de code
    parce que la je rame complet...

  8. #8
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Salut. ce que tu veux est en fait une infobulle, non ?

    http://javascript.developpez.com/faq...ript#InfoBulle

  9. #9
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Citation Envoyé par Sub0 Voir le message
    Salut. ce que tu veux est en fait une infobulle, non ?

    http://javascript.developpez.com/faq...ript#InfoBulle
    Non pas du tout.
    la je donne le champs description mais il y en plain d'autres.

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

Discussions similaires

  1. afficher masquer des divs
    Par chris801 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/09/2011, 14h42
  2. Afficher/Masquer des div
    Par chris801 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/02/2011, 13h47
  3. Afficher / Masquer des DIV
    Par Bounty59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/01/2007, 10h33
  4. Afficher / masquer des div
    Par Galaad dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/08/2006, 21h57
  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