Fonction hide/unhide

Nomade -  
-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'a i écrit une petite fonction pour ouvrir/fermer un "tiroir"

<style>
.hidden { display: none; }
.unhidden { display: block; }
</style>

<script type="text/javascript">
function unhide(divID) {
var item = document.getElementById(divID);
if (item) {
item.className=(item.className=='hidden')?'unhidden':'hidden';
}
}
</script>

Le script fonctionne bien mais comme j'ai plusieurs div avec des id différents dans la même page j'aimerais que lorsque on en ouvre un les autres se ferment.

Auriez-vous des suggestions?

Claude
A voir également:

2 réponses

-helper- Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
Salut,

Oui...
Si tu as fait une fonction qui permet d'ouvrir/fermer un tiroir... Pourquoi ne pas faire une boucle qui parcours tous les tiroirs de la commode !?

Lorsque tu voudras ouvrir un tiroir, il suffit de fermer tous les tiroirs et d'ouvrir celui que tu veux !

Ce dont tu as besoin...
<div id="Commode">
   <div onclick="javascript:OuvreTiroir( this );"></div>
   <div onclick="javascript:OuvreTiroir( this );"></div>
   <div onclick="javascript:OuvreTiroir( this );"></div>
</div>


un peu de code pour te montrer à quoi ça peut ressembler (non testé)...
function OuvreTiroir( eTiroir ) {
   var divCommode = document.getElementById('Commode');
   var aTiroirs = divCommode.children();
   var iTiroirs;
   for(iTiroirs = 0; iTiroirs < aTiroirs.length; iTiroirs++)
   {
       aTiroirs[iTiroirs].className = 'hidden';
   }
   eTiroir.className = 'unhidden';
}


Le code javascript est à mettre avant le code HTML...
Evidemment.... cliquer sur un élément qu'on a fait disparaître c'est difficile !!!...
Mais tu peux très bien ne pas les faire disparaître complètement... ou lier l'ouverture/fermeture avec autre chose que le tiroir lui-même...
0
faysal2231 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
pas comprie khhhh
-1