Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Javascript : ouvrir une div, qui se ferme si autre ouverte

Poster un nouveau sujet Imprimer cette discussion    Forum -> Administration d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Meeuuuhhh
WRInaute accro
WRInaute accro

Inscrit le: 08 Jan 2007
Messages: 1317
Localisation: Au meilleur endroit

URL permanente de ce messagePosté 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 .Crying or Very sad

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 Question
 
Meeuuuhhh
NxtGen
WRInaute passionné
WRInaute passionné

Inscrit le: 24 Oct 2006
Messages: 593

URL permanente de ce messagePosté 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 Smile

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 Smile
 
NxtGen Visiter le site web du posteur
Meeuuuhhh
WRInaute accro
WRInaute accro

Inscrit le: 08 Jan 2007
Messages: 1317
Localisation: Au meilleur endroit

URL permanente de ce messagePosté 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>&nbsp;|
<span class="java" onclick="switchDiv(2)"> envoyer un MP</span>&nbsp;|
<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.
 
Meeuuuhhh
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12073
Localisation: Toulouse

URL permanente de ce messagePosté 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"
 
e-kiwi Visiter le site web du posteur
Meeuuuhhh
WRInaute accro
WRInaute accro

Inscrit le: 08 Jan 2007
Messages: 1317
Localisation: Au meilleur endroit

URL permanente de ce messagePosté 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 Wink

C'est pour refermer la div en cliquant sur le lien qui l'a ouverte, que j'ai un problème, là.
 
Meeuuuhhh
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12073
Localisation: Toulouse

URL permanente de ce messagePosté 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 ?
 
e-kiwi Visiter le site web du posteur
Meeuuuhhh
WRInaute accro
WRInaute accro

Inscrit le: 08 Jan 2007
Messages: 1317
Localisation: Au meilleur endroit

URL permanente de ce messagePosté 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.
 
Meeuuuhhh
NxtGen
WRInaute passionné
WRInaute passionné

Inscrit le: 24 Oct 2006
Messages: 593

URL permanente de ce messagePosté 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 Smile

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>&nbsp;|
<span class="java" onclick="switchDiv(2)"> envoyer un MP</span>&nbsp;|
<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>
 
NxtGen Visiter le site web du posteur
Meeuuuhhh
WRInaute accro
WRInaute accro

Inscrit le: 08 Jan 2007
Messages: 1317
Localisation: Au meilleur endroit

URL permanente de ce messagePosté 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 Smile (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).
 
Meeuuuhhh
tompintures
Nouveau WRInaute

Inscrit le: 07 Juin 2007
Messages: 1
Localisation: Lille

URL permanente de ce messagePosté 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 ! Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy
 
tompintures
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Administration d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort