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 et modifier texte conditionnellement dans callback


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Par défaut slidetoggle et modifier texte conditionnellement dans callback
    Bonjour,

    J'utilise la fonction slidetoggle qui au click sur un lien m'affiche ou me cache une div qui contient les commentaires d'un article. Cela fonctionne parfaitement mais je souhaite modifier le texte du lien : quand les commentaires sont cachés je souhaite qu'il soit affiché "Afficher les commentaires" et "Masquer les commentaires" lorsque les commentaires sont visibles.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $(".comments_header").click(function(){
     
                 $(this).next('#comments').slideToggle('500', function() {});
     
            });
    HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <h4 class="comments_header"><a href="#">Afficher les  commentaires</a></h4>
                        <div id="comments">Ici s affichent les commentaires</div>
    J'arrive à changer le texte du lien avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $('a:first', this).text("Masquer les commentaires");
    Il faudrait que je puisse tester si le bloc est affiché ou non.

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $(".comments_header").click(function(){
     
                 $(this).html( ($(this).html()=="Afficher les  commentaires")?"Masquer les commentaires":"Afficher les  commentaires") ).next('#comments').slideToggle('500');
     
            });
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $(".comments_header").click(function(){
     
                 $(this).next('#comments').slideToggle('500',function(){($(this).html()=="Afficher les  commentaires")?"Masquer les commentaires":"Afficher les  commentaires") });
     
            });
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $(".comments_header").click(function(){
     
                 $(this).next('#comments').slideToggle('500',function(){($(this).next().is(":visible")?"Masquer les commentaires":"Afficher les  commentaires") });
     
            });
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Par défaut
    Merci,
    la première solution fonctionne mis à part que je perd le lien, j'ai essayé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $(this).html( ($(this).html()=="<a href='#'>Afficher les  commentaires</a>")?"<a href='#'>Masquer les commentaires</a>":"<a href='#'>Afficher les  commentaires</a>").next('#comments').slideToggle('500');
    Mais cela ne fonctionne plus. La solution ne doit pourtant pas être bien loin.

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <h4 class="comments_header"><a href="#" id="label">Afficher les  commentaires</a></h4>
                        <div id="comments">Ici s affichent les commentaires</div>
     
     $(".comments_header").click(function(){
     
                 $('#label').html( ($('#label').html()=="Afficher les  commentaires")?"Masquer les commentaires":"Afficher les  commentaires") )
    $(this).next('#comments').slideToggle('500');
     
            });
    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. Modifier texte dans groupe
    Par breizh750 dans le forum Visio
    Réponses: 1
    Dernier message: 30/11/2008, 13h48
  2. Modifier un enregistrement dans un fichier texte
    Par Ludo75 dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2008, 00h05
  3. impossible de modifier texte dans word
    Par Picotin dans le forum Word
    Réponses: 1
    Dernier message: 08/05/2008, 18h10
  4. Modifier texte dans fichier fla
    Par vincent monaco dans le forum Flash
    Réponses: 1
    Dernier message: 14/01/2008, 10h06
  5. [Dreamweaver] Modifier texte dans une image
    Par Aspic dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 13/04/2007, 17h17

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