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

jQuery Discussion :

Script afficher/masquer texte plusieurs fois


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Script afficher/masquer texte plusieurs fois
    Bonjour à tous !

    Je souhaite afficher/masquer du texte au clique de la souris sur un titre (pas au passage, un peu comme les spoilers que l'on peut trouver sur différents sites) et plusieurs fois sur la même page.

    Le texte doit-être caché par défaut (à l'ouverture de la page).

    Les contraintes : page html et le code JS doit être inclue sur la même page.

    J'ai un code qui fonctionne mais le soucis c'est qu'il fonctionne que sur un élément (surement à ause de l'id, l'id=unique). Mais étant limité en caractère je voudrais éviter d'écrire chaque id dans le code Js.

    Voici le code Js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script language="javascript">
    $(document).ready(function(){ 
          $('#toggle').click(function(){ 
               $("#test").toggle(); 
                    });  });
    </script>
    Voici le code dans le body:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href='javascript:;' id="toggle">Le titre ou un  petit texte</a><p id="test" style="display: none">LE texte qui s'affiche ou secahe qund on clique sur le titre</p>

    Le code fonctionne mais qu'une fois sur la page et pour un seul "titre" . je souhaiterais l'utiliser plusieurs fois, sur plusieurs "titres".

    Si quelqu'un peut m'aider ...merci

  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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Passe par une classe plutôt qu'un id.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(document).ready(function(){ 
          $('.toggle').click(function(){ 
               $(this).next('.test').toggle();
               return false;
          });  });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='#' class="toggle">Le titre ou un  petit texte</a><span class="test">LE texte qui s'affiche ou secahe qund on clique sur le titre</span>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci pour la réponse! maintenant je peux l'utiliser plusieurs fois dans la page.

    Par contre sa fonctionne à l'envers , c'est à dire que tout est affiché (développé) à l'ouverture de la page et le texte se cache lorsque je clique sur le titre.

    Je vais essayer de modifier , afin que le texte soit caché par défaut et qu'il s'ouvre lorsque je clique sur le titre (là c'est le contraire)

    => j'ai trouvé : style ="dispaly none":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span class="test" style="display:none"> le texte qui doit être caché</span>
    C'est possible de le mettre dans le script plutot que recopier à chauqe fois style ="dispaly none" dans le body ???

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 57
    Points
    57
    Par défaut
    Il te suffit d'écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).ready(function(){
          $('.test').hide();
     
          $('.toggle').click(function(){ 
               $(this).next('.test').toggle();
               return false;
          });
    });
    Ce code cachera tous les éléments ayant pour classe "test".

    Du coup, tu n'as pas besoin du:

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Super ! Voici un code génial : fonctionnel et court


    Merci c'est exactement ce que je voulais ! bravo

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

Discussions similaires

  1. /etc/init.d/script qui se lance plusieurs fois
    Par N_BaH dans le forum Administration système
    Réponses: 1
    Dernier message: 01/11/2009, 06h55
  2. afficher masquer texte
    Par volver dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/06/2008, 11h23
  3. Requête: Afficher un champ plusieurs fois
    Par shirya dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/06/2008, 18h10
  4. ne pas afficher un popup plusieurs fois
    Par paradeofphp dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 18/09/2006, 18h45
  5. Réponses: 2
    Dernier message: 14/06/2006, 08h53

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