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 :

Afficher/cacher une div


Sujet :

jQuery

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut Afficher/cacher une div
    Bonjour,

    J'utilise le code JS suivant pour afficher et cacher une div :
    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
     
    <script type="text/javascript">
     
    function toggle_div(li, id) { 
      var div = document.getElementById(id); 
      if(div.style.display=="none") { 
        div.style.display = "block";
        li.innerHTML = "Autres filtres (fermer)"; 
      } else { 
        div.style.display = "none"; 
        li.innerHTML = "Autres filtres";
      }
    }
    </script>
     
    <ul>
          <li><a onclick="toggle_div(this,'autres_filtres');"href="#">Autres filtres</a></li>
    </ul>
     
    <div id="autres_filtres">contenu</div>
    Ce code fonctionne mais l'affichage/masquage est "brusque". Je souhaiterais trouver le code équivalent en jquery, qui je crois est capable de gérer les effets de "transition" dans l'affichage/masquage. Pouvez-vous m'aider ? Merci.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    hide() show() fadeIn() fadeOut() .....

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut
    Merci pour la réponse. Mais comme je suis vraiment débutant, pouvez-vous m'aider à transposer mon code actuel JS en code Jquery qui comporterait
    hide() show() fadeIn() fadeOut() ...
    Merci d'avance.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut
    Merci pour les liens. Je suis parti sur le hide() et le show() :
    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
     
    <script>
    jQuery(document).ready(function() {
     
    				jQuery("#autres_filtres").hide();
    				jQuery(".cacher").hide();
    				jQuery(".montrer").click(function() {
     
    									jQuery("#autres_filtres").slideToggle(1000);
    									jQuery(".cacher").show;
    									jQuery(".montrer").hide;
     
     
    											 });
    				jQuery(".cacher").click(function() {
     
    									jQuery("#autres_filtres").slideToggle(1000);
    									jQuery(".cacher").hide;
    									jQuery(".montrer").show;
     
    											});
     
     
    						   });
    </script>
     
    		<li class="montrer"><a id="affichage">Autres filtres</a></li>
    		<li class="cacher"><a id="affichage">Autres filtres fermer</a></li>
     
    <div id="autres_filtres">contenu</div>
    L'affichage et masquage de la div fonctionne. Mais l'affichage du lien ne change pas lorsque je déplie la DIV : quand je clique sur le lien "Autres filtres", cela ne déclenche pas l'affichage du lien "Autres filtres fermer". Une idée sur la cause du dysfonctionnement ? Merci.

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    regarde du coté du selecteur :not() pour "les autres"

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut
    Merci. J'avais oublié les () après les hide et show. Cela fonctionne maintenant.

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    sinon
    hide()
    show()

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut
    Je viens de me rendre compte d'un comportement bizarre : lorsque ma page se charge (ou se recharge), l'espace d'une fraction de seconde le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li class="cacher"><a id="affichage">Autres filtres fermer</a></li>
    s'affiche à côté du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <li class="montrer"><a id="affichage">Autres filtres</a></li>
    Pourtant dans le code, l'élément ayant la classe "cacher" est censée être cachée par le hide(). Comment expliquer cet affichage "exprès" puis disparition ? A noter que si la page n'est pas rechargée, ce dysfonctionnement n'existe pas.Merci.

  10. #10
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le hide s'applique au chargement
    si tu ne veux pas le voir met le style display non ou visibility hidden dans le css

  11. #11
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 388
    Points : 209
    Points
    209
    Par défaut
    Merci de nouveau. Effectivement, il fallait passer par le CSS pour arriver au résultat escompté.

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

Discussions similaires

  1. Afficher/Cacher une div js.
    Par over- dans le forum jQuery
    Réponses: 2
    Dernier message: 28/02/2013, 23h51
  2. Conflit entre deux codes : afficher/cacher une div
    Par Shakuro dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/12/2011, 10h48
  3. afficher cacher une div dans un pseudo container
    Par gtraxx dans le forum jQuery
    Réponses: 6
    Dernier message: 22/11/2011, 11h41
  4. Afficher/Cacher une div en fonction d'une ligne
    Par student_php dans le forum jQuery
    Réponses: 0
    Dernier message: 13/11/2011, 10h55
  5. Afficher / Cacher une Div contenant un slider
    Par KrusK dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/07/2007, 14h53

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