Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2011, 16h00   #1
Futur Membre du Club
 
Inscription : février 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 58
Points : 19
Points : 19
Par défaut ouvrir une div à partir d'une autre div

Salut à tous,
l'idée est qu'à parir d'un lien d'ouvrir une autre div.
voici mon bout de code:
Code :
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(mon_div.style.display == "none"){
 
		  mon_div.style.display = '';
		  image.src = 'moins.png';
		}
		else{
		  mon_div.style.display = "none"; 
		  image.src = 'plus.png';} 
		}
 
 
	</script>
et la partie xslt:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<xsl:variable name="sub_module_index"/>
a href="#" onclick="return false">Folder-Unfolder							
<img>
 <xsl:attribute name="src">C:/Users/cdosunga/Desktop/delta_product/moins.png </xsl:attribute>
<xsl:attribute name="id">image </xsl:attribute> 
 <xsl:attribute name="onclick">javascript:ShowHide('<xsl:copy-of select="$sub_module_index" />'); </xsl:attribute> 
</img></a>   
<div style="display:">
<xsl:attribute name="id">
<xsl:copy-of select="$sub_module_index" />
</xsl:attribute>
<xsl:attribute name="href">javascript:ShowHide('<xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />');
</xsl:attribute> 		
<xsl:value-of select="module-name" />
</A>		 
 
<div style="display:none">
<xsl:attribute name="id">
<xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />
</xsl:attribute>
</div>
</div>
j'arrive à ouvrir et fermer ma 2ème div en cliquant sur chaque lien mais j'aimerai à partir de ma première div ouvrir directement tous les liens de ma 2ème div et les fermer aussi. Je pense que j'ai été clair, merci pour votre aide
chougadosu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 19h38   #2
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Salut,
pourrais-tu nous montrer le code HTML généré ? Ou alors, si tu penses que ton problème concerne ta feuille XSL, va voir dans le forum XML.

Sinon comme ça, je vois deux problèmes potentiels : un attribut onclick qui commence par "javascript:" (ligne 7 dans ton extrait de code), je sais pas si ça marche ; et une balise </A> au milieu de nulle part (ligne 16), mais c'est peut-être juste une erreur de recopie…
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 00h55   #3
Futur Membre du Club
 
Inscription : février 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 58
Points : 19
Points : 19
Salut watilin,
voici mon code javascript modifié:
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<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>
et xslt:
Code :
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
 
<xsl:variable name="sub_all_mod_index" />
<button type="button">
<a href="javascript:ShowHide('$sub_all_mod_index');">Folder-Unfolder</a></button> 
<div style="display:none" id="$sub_all_mod_index">
 
<xsl:variable name="sub_module_index" select="position()" />
<A> 
<xsl:attribute name="href">javascript:ShowHide('<xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />');
</xsl:attribute> 		 			
<xsl:value-of select="module-name" />
 </A>		 
 
<div style="display:none">
  <xsl:attribute name="id1">
  <xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />
  </xsl:attribute>
</div>
<A>
<xsl:attribute name="href">javascript:ShowHide('<xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />');
</xsl:attribute> 		 			
<xsl:value-of select="module-name" />
</A>		 		 
  <div style="display:">
  <xsl:attribute name="id2">
  <xsl:copy-of select="$sub_module_index" />_module_name_<xsl:value-of select="position()" />
  </xsl:attribute>
 </div>
</div>
j'ai 3 div, la 2àme et la 3ème sont imbriquées dans la 1ère, j'arrive à ouvrir et fermer ma 2ème div et la 3ème div en cliquant sur chaque lien alors l'idée est que j'aimerai en cliquant à partir de mon bouton de ma 1ère div qu'il ouvre la 2ème div et en recliquant qu'il ouvre la 3ème div. Je pense que j'ai été clair, merci pour votre aide.
chougadosu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 15h42   #4
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Moi aussi je pensais avoir été assez clair… Le XSL je m'en fiche, je veux voir le HTML généré !
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 16h20   #5
Futur Membre du Club
 
Inscription : février 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 58
Points : 19
Points : 19
salut Watilin,
voici le code html généré:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<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_module_index');">Folder-Unfolder</a></button>
<div style="display:none" id="$sub_module_index">
<A name="av-control" href="javascript:ShowHide('1_module_name_1');">av-control</A>
<div style="display:none" id="1_module_name_1">
......
</div>
</div>
<A name="dvr" href="javascript:ShowHide('2_module_name_2'); ">dvr</A>
<div style="display:none" id="2_module_name_2">
......
</div>
du coup ce que je souhaiterai en cliquant au bouton qu'il affiche d'abord la liste de tous les modules et en recliquant qu'il affiche la liste de tous les modules avec leurs details. Les div qui se trouvent dans ce code html affichent seulement la liste de chaque module. J'ai eu l'idée de créer de 2 blocs de div, l'un affichant seulement la liste de module avec
Code :
<div style="display:" id="...">
et l'autre affichant la liste et le detail de chaque module avec
Code :
<div style="display:none" id="...">
mais le problème je ne sais pas comment faire le if dans le code javascript pour appeler selon le condition l'un ou l'autre bloc. Merci
chougadosu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2011, 07h10   #6
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
une chatte n'y retrouverait pas ses ptits, comme disait ma grand-mère;
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 11h13   #7
Futur Membre du Club
 
Inscription : février 2009
Messages : 58
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 58
Points : 19
Points : 19
Salut,
je joins aussi le fichier html générer pour que vous ayez un peu l'idée.
chougadosu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 21h14   #8
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 935
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 935
Points : 4 761
Points : 4 761
Citation:
Envoyé par chougadosu Voir le message
Salut,
je joins aussi le fichier html générer pour que vous ayez un peu l'idée.
mais où est le join euh! pardon le fichier ????
NoSmoking est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 09h51   #9
Membre éclairé
 
Avatar de Ceddoc
 
Homme Cédric
Développeur Java / Web / .NET
Inscription : janvier 2009
Messages : 327
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Java / Web / .NET
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2009
Messages : 327
Points : 369
Points : 369
J'aurais tendance à dire que pour régler ton problème initial, c'est à dire afficher les divs 2 et 3 en cliquant sur le lien 1 il faut que tu donnes toutes les instructions correspondante.

Il faudrait essayer quelque chose du genre:
Code :
1
2
3
<button type="button">
<a href="javascript:ShowHide('$sub_module_index');ShowHide('1_module_name_1');ShowHide('2_module_name_2');">Folder-Unfolder</a></button>
<div style="display:none" id="$sub_module_index">
Je suis vraiment pas sûr de la syntaxe mais c'est quelque chose du genre. Ou alors tu implémente une méthode javascript spéciale pour le bouton 1 qui ne fait qu'afficher les modules 2 et 3 si ils ne le sont pas déjà.
Ceddoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web