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 :

masquer/afficher un div avec + ou -


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut masquer/afficher un div avec + ou -
    Salut à tous,
    j'ai un petit soucis dans cette optique, j'utilise javascript pour masquer/afficher les contenus de ma liste mais je voulais ajouter un bouton qui change en + et - genre en cliquant sur le - pour afficher et le + pour masquer comme dans le notepad. pour l'instant j'ai reussi à créer un bouton qui masque/affiche en cliquant sur ce bouton. voici mon code javascript combiné à xslt:
    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
     
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <html>
    <body>
    script type="text/javascript">
    function ShowHide(elem) {
    if(document.getElementById(elem).style.display == "none"){
     
    document.getElementById(elem).style.display = '';
    }
    else{
    document.getElementById(elem).style.display = "none"; } 
    }
     
    </script>
    <button type="button">
    <a href="javascript:ShowHide('$sub_all_mod_index');">Folder-Unfolder</a></button> 
    <div style="display:" id="$sub_all_mod_index">
    <!-- ma liste-->
    </div>
    </body>
    </html>
    </xsl:stylesheet>
    du cooup l'idée est qu'il y a affichage le bouton apparait "-" et en recliquant pour masquer le bouton devient "+".
    Merci pour votre aide.

  2. #2
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Salut,

    en HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:ShowHide('$sub_all_mod_index');"><img src="button_hide.png" id="button" /></a></button>
    En JS :

    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
     
    function ShowHide(elem) 
    {
     
       if(document.getElementById(elem).style.display == "none")
       {
          document.getElementById(elem).style.display = '';
          document.getElementById('test').src = 'button_hide.png';
       }
     
       else
       {
          document.getElementById(elem).style.display = "none";
          document.getElementById('test').src = 'button_show.png'; 
       } 
     
    }
    Bien sûr, il faut adapter l'adresse de l'image à ton site

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    merci Finality pour ton intervention,
    j'allais t'informer que mon html est généré par la transformation xslt du coup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:ShowHide('$sub_all_mod_index');"><img src="button_hide.png" id="button" /></a></button>
    doit être généré par la transformation xslt. Je crois qu'il me faut un bout de code js qui permettra en cliquant le bouton "-" pour afficher et en recliquant sur le même bouton "+" pour masquer c'est ça idée mais je suis débutant en Js c'est pour cela je demande à l'aide.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    C'est ce que fait le code de Finality.
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.getElementById('button').src = 'button_hide.png';
    ...
    document.getElementById('button').src = 'button_show.png';
    A+.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Salut,

    J'ai modifié mon code mais rien ne marche en cliquant sur le - pour masquer ça masque mais ça ne change pas en +:
    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
     
    <script type="text/javascript">
    		function ShowHide(elem,image) {
    		 var mon_div = document.getElementById(elem);
    		 if(document.getElementById(elem).style.display == "none"){
     
    		  mon_div.style.display = '';
    		  image.src = 'moins.png';
    		}
    		else{
    		  mon_div.style.display = "none"; 
    		  image.src = 'plus.png';} 
    		}
     
     
    	</script>
    et pour la transformation xslt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <button type="button">
    <a href="javascript:ShowHide('$sub_all_mod_index');">
    <img src="C:/User/plus.png" id="image" onclick="ShowHide('iddiv',this.id)"/>  </a> </button>
    <div style="display:" id="$sub_all_mod_index">
    .....
    </div>

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,

    Tu appelles la fonction différemment.
    Tu confond l'id d'un élément avec l'élément.
    Tu utilises un chemin absolue.
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="#">
    <img src="C:/User/plus.png" id="image" onclick="ShowHide('$sub_all_mod_index',this)"/>  </a> </button>
    <div style="display:" id="$sub_all_mod_index">
    A+.

Discussions similaires

  1. masquer/afficher un div avec + ou -
    Par chougadosu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/06/2011, 12h08
  2. Afficher une div avec un traitement Ajax
    Par arthuro45 dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 16/05/2010, 22h32
  3. masquer/afficher un DIV
    Par eric41 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/05/2009, 22h00
  4. Afficher un div avec un effet de slide en cochant un bouton radio
    Par zbibounette dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/07/2008, 10h55
  5. Masquer/afficher un DIV
    Par uado dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/07/2007, 10h47

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