|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Meeuuuhhh WRInaute accro

Inscrit le: 08 Jan 2007 Messages: 1317 Localisation: Au meilleur endroit
|
Posté le : Dim Mai 13, 2007 21:27 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
Bonjour,
Voilà, j'ai trois div. J'en ouvre une en cliquant sur un lien. Si je reclique sur le lien, elle se referme. Si je clique sur le lien d'une autre div qui s'ouvre aussi en javascript, alors la précédente doit se refermer.
Ca fonctionne pas .
Voilà mon chetit code :
Balise head :
| Code: |
function switchDiv(n)
{
var id; switch(n)
{
case "1": id = "signature";
break;
case "2": id = "envoiMP";
break;
case "3": id = "voirMP";
break;
}
document.getElementById('signature').display = "none"; document.getElementById('envoiMP').display = "none"; document.getElementById('voirMP').display = "none"; document.getElementById(id).display = "block"; }
|
Les liens :
| Code: |
<span class="java" onClick="switchDiv(1);"> modifier la signature</span>
<span class="java" onClick="switchDiv(2);"> envoyer un MP</span>
<span class="java" onClick="switchDiv(3);"> voir les MP</span>
|
Les divs à ouvrir :
| Code: |
<div class="baliseDiv" style="display:none;" id="signature">texte 1 </div>
<div class="baliseDiv" style="display:none;" id="envoiMP"> texte 2</div>
<div class="baliseDiv" style="display:none;" id="voirMP"> texte 3 </div> |
Voyez-vous le problème, SVP  |
|
| |
|
 |
NxtGen WRInaute passionné

Inscrit le: 24 Oct 2006 Messages: 593
|
Posté le : Lun Mai 14, 2007 3:00 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
Avec
document.getElementById(id).style.display = "block"
ca fonctionnera mieux
et aussi pour les "case", pas besoin de guillemets vu que c'est des valeurs numériques
ce qui donne :
| Code: |
function switchDiv(n) {
var id;
switch(n) {
case 1 : id = "signature"; break;
case 2 : id = "envoiMP"; break;
case 3 : id = "voirMP"; break;
}
document.getElementById('signature').style.display = "none";
document.getElementById('envoiMP').style.display = "none";
document.getElementById('voirMP').style.display = "none";
document.getElementById(id).style.display = "block";
} |
voualou  |
|
| |
|
 |
Meeuuuhhh WRInaute accro

Inscrit le: 08 Jan 2007 Messages: 1317 Localisation: Au meilleur endroit
|
Posté le : Lun Mai 14, 2007 14:33 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
Ca fonctionne pas.
Par contre, ça fonctionne comme ça :
| Code: |
<head>
<title></title>
<style type="text/css">
<!--
.java{
color: #0000FF;
cursor: pointer;
}
.baliseDiv{
border: 2px ridge #AAAAAA;
}
//-->
</style>
<script type="text/javascript">
<!--
function switchDiv(n)
{
var id;
switch(n)
{
case 0:
id = "";
break;
case 1:
id = "signature";
break;
case 2:
id = "envoiMP";
break;
case 3:
id = "voirMP";
break;
}
document.getElementById('signature').style.display = "none";
document.getElementById('envoiMP').style.display = "none";
document.getElementById('voirMP').style.display = "none";
if (id!="")
document.getElementById(id).style.display = "block";
}
//-->
</script>
</head>
<body>
<span class="java" onclick="switchDiv(1)"> modifier la signature</span> |
<span class="java" onclick="switchDiv(2)"> envoyer un MP</span> |
<span class="java" onclick="switchDiv(3)"> voir les MP</span>
<br />
Les divs :
<div class="baliseDiv" style="display:none;" id="signature">
signature
<span class="java" onclick="switchDiv(0)"> Fermer</span>
</div><!--ferme baliseDiv -->
<div class="baliseDiv" style="display:none;" id="envoiMP">
envoiMP
<span class="java" onclick="switchDiv(0)"> Fermer</span>
</div><!--ferme baliseDiv -->
<div class="baliseDiv" style="display:none;" id="voirMP">
voirMP
<span class="java" onclick="switchDiv(0)"> Fermer</span>
</div><!--ferme baliseDiv -->
</body>
</html> |
Mais je n'arrive pas à faire en sorte que la div ouverte se referme aussi quand on clique sur le lien qui l'a ouvert. |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12073 Localisation: Toulouse
|
Posté le : Lun Mai 14, 2007 15:09 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
dans ton premier exemple, je vois :
document.getElementById('signature').display = "none";
tu n'a pas mis le "stye.display", juste "display" |
|
| |
|
 |
Meeuuuhhh WRInaute accro

Inscrit le: 08 Jan 2007 Messages: 1317 Localisation: Au meilleur endroit
|
Posté le : Lun Mai 14, 2007 15:12 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
| e-kiwi a écrit: |
dans ton premier exemple, je vois :
document.getElementById('signature').display = "none";
tu n'a pas mis le "stye.display", juste "display" |
Euh oui, mais c'est corrigé maintenant, ça fonctionne
C'est pour refermer la div en cliquant sur le lien qui l'a ouverte, que j'ai un problème, là. |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12073 Localisation: Toulouse
|
Posté le : Lun Mai 14, 2007 16:31 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
| c'est à dire ? tu veux tout le temps n'avoir qu'un div maximum d ouvert, ou pouvoir ouvrir et fermer independement chaque div ? |
|
| |
|
 |
Meeuuuhhh WRInaute accro

Inscrit le: 08 Jan 2007 Messages: 1317 Localisation: Au meilleur endroit
|
Posté le : Lun Mai 14, 2007 17:27 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
En fait :
- Je clique sur le lien -> la div correspondante s'ouvre : ça fonctionne.
- Je clique sur le lien "fermer" dans la div qui s'est ouverte -> la div correspondante se ferme : ça fonctionne.
- Une div est déjà ouverte, je clique sur un autre lien pour ouvrir une autre div -> la div déjà ouverte se referme et la nouvelle s'ouvre : ça fonctionne.
- Je clique sur un lien pour ouvrir la div et je reclique sur le même lien pour la refermer : ça, ça ne fonctionne pas. |
|
| |
|
 |
NxtGen WRInaute passionné

Inscrit le: 24 Oct 2006 Messages: 593
|
Posté le : Lun Mai 14, 2007 18:25 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
Euh mon script marche je l'ai essayé avant de le poster
et en le modifiant j'ai obtenu ce que tu voulais :
| Code: |
<script type="text/javascript">
function switchDiv(n) {
var id;
var hide = 0;
switch(n) {
case 1 : id = "signature"; break;
case 2 : id = "envoiMP"; break;
case 3 : id = "voirMP"; break;
}
if ( document.getElementById(id).style.display == "block" ) hide = 1;
document.getElementById('signature').style.display = "none";
document.getElementById('envoiMP').style.display = "none";
document.getElementById('voirMP').style.display = "none";
if ( hide != 1 ) document.getElementById(id).style.display = "block";
}
</script> |
et le html
| Code: |
<span class="java" onclick="switchDiv(1)"> modifier la signature</span> |
<span class="java" onclick="switchDiv(2)"> envoyer un MP</span> |
<span class="java" onclick="switchDiv(3)"> voir les MP</span>
<div class="baliseDiv" style="display:none;" id="signature">
signature
<span class="java" onclick="switchDiv(1)"> Fermer</span>
</div>
<div class="baliseDiv" style="display:none;" id="envoiMP">
envoiMP
<span class="java" onclick="switchDiv(2)"> Fermer</span>
</div>
<div class="baliseDiv" style="display:none;" id="voirMP">
voirMP
<span class="java" onclick="switchDiv(3)"> Fermer</span>
</div> |
|
|
| |
|
 |
Meeuuuhhh WRInaute accro

Inscrit le: 08 Jan 2007 Messages: 1317 Localisation: Au meilleur endroit
|
Posté le : Mar Juin 05, 2007 18:56 Sujet du message: Javascript : ouvrir une div, qui se ferme si autre ouverte |
|
|
Ca a l'air de fonctionner merci (avec trois plombes de retards, mais j'étais passé à autre chose) !
Ca fonctionne sur IE 6 et compagnie ? (j'ai testé que sur firefox et IE7). |
|
| |
|
 |
tompintures Nouveau WRInaute
Inscrit le: 07 Juin 2007 Messages: 1 Localisation: Lille
|
Posté le : Jeu Juin 07, 2007 20:02 Sujet du message: MERCI ! |
|
|
merci bcp grace à ce p'tit bout eud'code j'ai solutionné un gros problème que j'avais !  |
|
| |
|
 |
| |
|
|