Tom's Guide > Forum > Programmation > [Résolu] Menu déroulant JS

Lire la meilleure réponse, apportée par OmaR.

Mot :    Pseudo :           
 

Salut,

J'aurais besoin de votre aide...
Alors voilà j'ai fais un menu déroulant en JS comme ceci:

Code :
  1. <script type="text/javascript">
  2. <!--
  3. window.onload=montre;
  4. function montre(id) {
  5. var d = document.getElementById(id);
  6.     for (var i = 1; i<=15; i++) {
  7.         if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
  8.     }
  9. if (d) {d.style.display='block';}
  10. }
  11. //-->
  12. </script>



Et pour mon menu je fais ceci:

Code :
  1. <li>
  2. <a href="#" onclick="javascript:montre('smenu1'); return false">MENU1</a>
  3. <div class="sousmenu" id="smenu1" display="none">
  4. <a href="MENU1.1.PHP">MENU1.1</a><br />
  5. <a href="MENU1.2.PHP">MENU1.2</a><br />
  6. </div>
  7. </li>



Ce que je voudrais faire c'est que lorsque on reclic une 2ème fois sur MENU1 le sous menu se ferme... J'ai essayer avec onmouseout mais j'aime pas trop le résultat, je préfère que se sois au click!

Merci d'avance


Message édité par dandibot le 03-12-2009 à 09:17:03
Salut,

Quel est l'intérêt de le mettre sur l'évènement onload ?

Sinon, fais ça :

Code :
  1. function montre(id) {
  2. var d = document.getElementById(id);
  3. if(d.style.display == 'block') { d.style.display = 'none'; } else {
  4.     for (var i = 1; i<=15; i++) {
  5.         if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
  6.     }
  7. if (d) {d.style.display='block';}
  8. }
  9. }

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Meilleure réponse

Salut,

Quel est l'intérêt de le mettre sur l'évènement onload ?

Sinon, fais ça :

Code :
  1. function montre(id) {
  2. var d = document.getElementById(id);
  3. if(d.style.display == 'block') { d.style.display = 'none'; } else {
  4.     for (var i = 1; i<=15; i++) {
  5.         if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
  6.     }
  7. if (d) {d.style.display='block';}
  8. }
  9. }

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

Nikel, seul petit problème quand on arrive sur la page tout les menu sont déjà ouvert...

------------------------------ Rémunère ton site
Hosting Favicon
Clic pas ici
Répondre à Allstar27

Citation :

<div class="sousmenu" id="smenu1" display="none">



display n'est pas un attribut html, c'est du CSS, donc style="display:none;"

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR
Tom's Guide > Forum > Programmation > [Résolu] Menu déroulant JS
Aller à :

Il y a 1928 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens