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

XSL/XSLT/XPATH XML Discussion :

masquer/afficher un div avec + ou -


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    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
    Points : 42
    Points
    42
    Par défaut masquer/afficher un div avec + ou -
    Salut à tous,
    j'ai un petit soucis, j'utilise js pour masquer/afficher les contenus de ma liste mais je voulais ajouter le + 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 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" xmlns:xsl="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
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Ça c'est une question de JavaScript, pas de XSLT.

  3. #3
    Membre du Club
    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
    Points : 42
    Points
    42
    Par défaut
    Salut Thelvin, merci pour ton intervention
    en effet je sais qu'il me fait un bout de code js pour ça le soucis est que je suis un peu débutant en javascript du coup si tu pourras me donner une idée pour le faire cela m'aidera beaucoup.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 36
    Points
    36
    Par défaut
    J'ai un bout de code qui me fait ca le voila

    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
    <script language="javascript">
    					<xsl:comment>
    						function toggle(id) {
    						var ele = document.getElementById(id +
    						".toggleText");
    						var text = document.getElementById(id +
    						".displayText");
    						if(ele.className == "toggleShow") {
    						ele.className =
    						"toggleHide";
    						text.innerHTML = "+";
    						} else {
    						ele.className =
    						"toggleShow";
    						text.innerHTML = "-";
    						}
    						}
    					</xsl:comment>
    				</script>
    et dans le xsl :

    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
    <xsl:variable name="id" select="concat('toc.', @id)" />
    		<xsl:variable name="class" select="concat('tocLevel',@level)" />
    		<xsl:variable name="displayTextId" select="concat($id, '.displayText')" />
    		<xsl:variable name="toggleTextId" select="concat($id, '.toggleText')" />
    		<div>
    			<xsl:attribute name="class"><xsl:value-of select="$class" /></xsl:attribute>
    			<a class="toggleLink">
    				<xsl:attribute name="id"><xsl:value-of select="$displayTextId" /></xsl:attribute>
    				<xsl:attribute name="href">javascript:toggle('<xsl:value-of
    					select="$id" />');</xsl:attribute>
    				<xsl:text>+</xsl:text>
    			</a>
     
     
    				</div>
    		</div>
    à toi d'adapté a ton xsl
    J'espère que cela va t'aider

Discussions similaires

  1. masquer/afficher un div avec + ou -
    Par chougadosu dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 09/06/2011, 15h44
  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