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 :

slideToggle ou comment fermer le contenu précédement ouvert


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Par défaut slideToggle ou comment fermer le contenu précédement ouvert
    Bonjour,

    Voilà, je suis une quiche sur jQuery mais j'essaye de me soigner !!!
    Je suis en train de mettre en place une liste qui doit afficher du contenu. ça fonctionne pas mal sauf que je n'arrive pas à lui dire de cacher la div précédement ouverte ... je ne vois pas comment boucler dans le js ...

    Pour l'instant voici le code propre qui fonctionne sans mes essais désastreux pour cacher l'item précédement ouvert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div class="discoTitreTracks">Titre</div>
    <div class="discoParoleTracks"  style="display: none;">
       contenu
    </div>
    <div class="discoTitreTracks">Titre</div>
    <div class="discoParoleTracks"  style="display: none;">
       contenu
    </div>
    etc ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
          $j('.discoTitreTracks').click(function(){
             $j(this).next('.discoParoleTracks').slideToggle('fast');
          });
       });
    </script>
    Si quelqu'un pouvait m'expliquer, ce serait vraiment sympa

  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 661
    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 661
    Billets dans le blog
    1
    Par défaut
    Et avec slideUp / Down ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
          $j('.discoTitreTracks').click(function(){
             $j('.discoParoleTracks').slideUp('fast');
             $j(this).next('.discoParoleTracks').slideDown('fast');
          });
       });
    ou un hide direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
          $j('.discoTitreTracks').click(function(){
             $j('.discoParoleTracks').not($j(this).next('.discoParoleTracks')).hide();
             $j(this).next('.discoParoleTracks').slideDown('fast');
          });
       });
    </script>
    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 !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Par défaut
    Ahhhhhh Super !!!!!!!!

    MERCI !

    en fait du coup, j'ai fais un mix entre tes deux propositions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var $j = jQuery.noConflict();
       $j(document).ready(function(){
          $j('.discoTitreTracks').click(function(){
              $j('.discoParoleTracks').not($j(this).next('.discoParoleTracks')).slideUp('fast');
              $j(this).next('.discoParoleTracks').slideToggle('fast');
          });
       });
    Ce qui me permettait de conserver l'effet Toggle (fermer si ouvert au clic) et de fermer l'élément précédement ouvert !!!

    Merci encore SpaceFrog !


  4. #4
    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 661
    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 661
    Billets dans le blog
    1
    Par défaut
    une autre ^possibilité serait de passer par le callBack du slideUp du menu qui se replie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
       var $j = jQuery.noConflict();
       $j(document).ready(function(){
          $j('.discoTitreTracks').click(function(){
             temp=$j(this)
             $j('.discoParoleTracks').not($j(this).next('.discoParoleTracks')).slideUp(100, function(){temp.next('.discoParoleTracks').slideDown('fast')});
          });
       });
    </script>
    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 !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Par défaut
    ah ouiiii !
    OK ! J'ai l'impression d'être un enfant dans un magasin de jouets !!!!

    En terme de performance, c'est similaire ou ton troisième exemple est plus propre que le mix des 2 premiers ???

    Merci en tous cas !

  6. #6
    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 661
    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 661
    Billets dans le blog
    1
    Par défaut
    La différence majeur est que le dernier exemple attend la fin de l'animation des repli du menu ouvert avant de lancer l'ouverture de l'autre.

    On pourrait aussi je pense, pour gagner en perf, faire un filtre complémentaire sur le visible de façon à ne pas tenter de slider des éléments déjà fermés.
    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 !

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

Discussions similaires

  1. VB Script : Comment fermer un worbook excel DEJA ouvert ?
    Par crassetph dans le forum VBScript
    Réponses: 0
    Dernier message: 24/09/2010, 18h43
  2. [XL-2000] Comment fermer un fichier excel si il est ouvert mais sans bug s'il n'est pas ouvert
    Par Avinetor dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/06/2009, 15h09
  3. Comment fermer tous les modules ouverts
    Par chim33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/02/2009, 15h11
  4. Comment fermer un programme ouvert avec la fonction Shell
    Par nicolas2603 dans le forum VBA Access
    Réponses: 13
    Dernier message: 08/02/2008, 21h01
  5. [VBA-O] Comment récuperer le contenu du message ouvert ?
    Par yaumme dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 11/07/2007, 13h06

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