FORUM Tom's Hardware » Programmation » HTML / Javascript » [JS] Menu dynamique help !
 

[JS] Menu dynamique help !

Il y a 306 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [JS] Menu dynamique help !
 
Plus d'informations

Voila dans le cardre d'un stage je dois refaire le site web d'une boite, pour ce j'utilise un Java script que voici
 

Code :
  1. <script type="text/javascript">
  2.     /*
  3.     * Montre / Cache un div
  4.     */
  5.     function DivStatus( nom, numero )
  6.         {
  7.             var divID = nom + numero;
  8.             if ( document.getElementById && document.getElementById( divID ) ) // Pour les navigateurs récents
  9.                 {
  10.                     Pdiv = document.getElementById( divID );
  11.                     PcH = true;
  12.                  }
  13.             else if ( document.all && document.all[ divID ] ) // Pour les veilles versions
  14.                 {
  15.                     Pdiv = document.all[ divID ];
  16.                     PcH = true;
  17.                 }
  18.             else if ( document.layers && document.layers[ divID ] ) // Pour les très veilles versions
  19.                 {
  20.                     Pdiv = document.layers[ divID ];
  21.                     PcH = true;
  22.                 }
  23.             else
  24.                 {
  25.                     PcH = false;
  26.                 }
  27.             if ( PcH )
  28.                 {
  29.                     Pdiv.className = ( Pdiv.className == 'cachediv' ) ? '' : 'cachediv';
  30.                 }
  31.         }
  32.     /*
  33.     * Cache tous les divs ayant le même préfixe
  34.     */
  35.     function CacheTout( nom )
  36.         {
  37.             var NumDiv = 1;
  38.             if ( document.getElementById ) // Pour les navigateurs récents
  39.                 {
  40.                     while ( document.getElementById( nom + NumDiv) )
  41.                         {
  42.                             SetDiv = document.getElementById( nom + NumDiv );
  43.                             if ( SetDiv && SetDiv.className != 'cachediv' )
  44.                                 {
  45.                                     DivStatus( nom, NumDiv );
  46.                                 }
  47.                             NumDiv++;
  48.                         }
  49.                 }
  50.             else if ( document.all ) // Pour les veilles versions
  51.                 {
  52.                     while ( document.all[ nom + NumDiv ] )
  53.                         {
  54.                             SetDiv = document.all[ nom + NumDiv ];
  55.                             if ( SetDiv && SetDiv.className != 'cachediv' )
  56.                                 {
  57.                                     DivStatus( nom, NumDiv );
  58.                                 }
  59.                             NumDiv++;
  60.                         }
  61.                 }
  62.             else if ( document.layers ) // Pour les très veilles versions
  63.                 {
  64.                     while ( document.layers[ nom + NumDiv ] )
  65.                         {
  66.                             SetDiv = document.layers[ nom + NumDiv ];
  67.                             if ( SetDiv && SetDiv.className != 'cachediv' )
  68.                                 {
  69.                                     DivStatus( nom, NumDiv );
  70.                                 }
  71.                             NumDiv++;
  72.                         }
  73.                 }
  74.         }
  75.     /*
  76.     * Montre tous les divs ayant le même préfixe
  77.     */
  78.     function MontreTout( nom )
  79.         {
  80.             var NumDiv = 1;
  81.             if ( document.getElementById ) // Pour les navigateurs récents
  82.                 {
  83.                     while ( document.getElementById( nom + NumDiv) )
  84.                         {
  85.                             SetDiv = document.getElementById( nom + NumDiv );
  86.                             if ( SetDiv && SetDiv.className != '' )
  87.                                 {
  88.                                     DivStatus( nom, NumDiv );
  89.                                 }
  90.                             NumDiv++;
  91.                         }
  92.                 }
  93.             else if ( document.all ) // Pour les veilles versions
  94.                 {
  95.                     while ( document.all[ nom + NumDiv ] )
  96.                         {
  97.                             SetDiv = document.all[ nom + NumDiv ];
  98.                             if ( SetDiv && SetDiv.className != '' )
  99.                                 {
  100.                                     DivStatus( nom, NumDiv );
  101.                                 }
  102.                             NumDiv++;
  103.                         }
  104.                 }
  105.             else if ( document.layers ) // Pour les très veilles versions
  106.                 {
  107.                     while ( document.layers[ nom + NumDiv ] )
  108.                         {
  109.                             SetDiv = document.layers[ nom + NumDiv ];
  110.                             if ( SetDiv && SetDiv.className != '' )
  111.                                 {
  112.                                     DivStatus( nom, NumDiv );
  113.                                 }
  114.                             NumDiv++;
  115.                         }
  116.                 }
  117.         }
  118.     /*
  119.     * Inverse les divs: Cache les divs visible et montre le divs cachés :)
  120.     */
  121.     function InverseTout( nom )
  122.         {
  123.             var NumDiv = 1;
  124.             if ( document.getElementById ) // Pour les navigateurs récents
  125.                 {
  126.                     while ( document.getElementById( nom + NumDiv ) )
  127.                         {
  128.                             SetDiv = document.getElementById( nom + NumDiv );
  129.                             DivStatus( nom, NumDiv );
  130.                             NumDiv++;
  131.                         }
  132.                 }
  133.             else if ( document.all ) // Pour les veilles versions
  134.                 {
  135.                     while ( document.all[ nom + NumDiv ] )
  136.                         {
  137.                             SetDiv = document.all[ nom + NumDiv ];
  138.                             DivStatus( nom, NumDiv );
  139.                             NumDiv++;
  140.                         }
  141.                 }
  142.             else if ( document.layers ) // Pour les très veilles versions
  143.                 {
  144.                     while ( document.layers[ nom + NumDiv ] )
  145.                         {
  146.                             SetDiv = document.layers[ nom + NumDiv ];
  147.                             DivStatus( nom, NumDiv );
  148.                             NumDiv++;
  149.                         }
  150.                 }
  151.         }
  152. </script>
  153. <style type="text/css">
  154.     .cachediv {
  155.         visibility: hidden;
  156.         overflow: hidden;
  157.         height: 1px;
  158.         margin-top: -1px;
  159.         position: absolute;
  160.     }
  161. <!--
  162. .unnamed1 {
  163.     background-color: #000066;
  164.     cursor: hand;
  165.     text-decoration: underline;
  166.     text-align: center;
  167. }
  168. -->
  169. </style>
  170. <div name="menu1" id="menu1">
  171.   <div class="unnamed1" onClick="javascript:DivStatus( 'menu', '11' )" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><strong><em>Menu
  172.     1</em></strong></div>
  173. </div>
  174. <div name="menu11" id="menu11">
  175.   <div class="unnamed1"  onClick="javascript:DivStatus( 'menu', '111' )" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><em>Menu
  176.     1.1</em></div>
  177.   <div name="menu111" id="menu111">
  178.     <div class="unnamed1" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><a href="url1.1.1">Lien 1.1.1 </a><br>
  179.       <a href="url1.1.2">Lien 1.1.2</a><br>
  180.       <a href="url1.1.3">Lien 1.1.3</a></div>
  181.   </div>
  182.   <div class="unnamed1"  onClick="javascript:DivStatus( 'menu', '121' )" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;" ><em>Menu
  183.     1.2</em></div>
  184.   <div name="menu121" id="menu121">
  185.     <div class="unnamed1" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><a href="url1.2.1">Lien 1.2.1 </a><br>
  186.       <a href="url1.2.2">Lien 1.2.2</a><br>
  187.       <a href="url1.2.3">Lien 1.2.3</a></div>
  188.   </div></div>
  189. <div name="menu2" id="menu2">
  190.   <div class="unnamed1" onClick="javascript:DivStatus( 'menu', '21' )" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><strong><em>Menu
  191.     2</em></strong></div>
  192. </div>
  193. <div name="menu21" id="menu21">
  194.     <div class="unnamed1" style="border: 1px solid black; background-color: whitesmoke; margin-bottom: 2px;"><a href="url2.1">Lien 2.1 </a><br>
  195.       <a href="url2.2">Lien 2.2</a><br>
  196.       <a href="url2.3">Lien 2.3</a></div>
  197.   </div>


 
Je l'ai récupéré sur editeur Javascript.com
 
Mon Pb c'est que par défaut ce menu est totalement déployé par défaut alors j'aimerais bien qu'il soit replié je suppose qu'il faut changer qqch dans le "HEAD" mais quoi?
 
Quelqu'un pourait m'aider svp :??:  
 
Merci d'avance :jap:


Message édité par _washu le 17-06-2005 à 21:34:32

---------------
L\\\'infini c\\\'est long...surtout vers la fin.
 

 

Profil : Pointeur
Plus d'informations

tout simplement
dans le onload du body, tu appelles la fonction CacheTout


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

c'est à dire?
On fait ça comment concretement?
 
Désolé je suis vraiment une quiche en Programmation :s


---------------
L\\\'infini c\\\'est long...surtout vers la fin.
 

 

Profil : Pointeur
Plus d'informations

quand est-ce que les employeurs comprendront que le web c'est pas pour les stagiaires :cry:
 
tu sais pas programmer et on te fait faire un site ? tu vois pas comme une incohérence la dedans ??
 
sur ce compte pas sur moi pour faire le boulot a ta place...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Bah je pensais qu'il y avait juste une ou deux lignes de code à rajouter mais si c'est pas le cas tant pis je me débrouillerais autrement...
 
Et puis non pour faire un site non t'es pas obligé de savoir programmer il y a les logiciels genre Dreamweaver qui aident(bon d'accord c'est moche mais ça marche quand même)

Profil : Pointeur
Plus d'informations

non !
 
il faut savoir programmer si on veux faire quelque chose de potable ! et dreamweaver n'est pas pour les débutants, contrairement a ce qu'on pourrait croire...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Bon bah tant pis alors...
 
Mais ta réponse m'a donné une piste je crois que j'ai une idée je vais voir de ce pas si je me trompe pas.

Plus d'informations

Bon je crois que j'ai touvé.
 
faut faire un truc genre  
<body onLoad="Cachetout();">
 
Juste une dernière question je met quoi en argument dans la fonction pour que ça s'applique à la totalité du menu?

Profil : Pointeur
Plus d'informations

réfléchi avant de poser des questions :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

j'ai beau chercher je vois pas.... :sweat:


Message édité par _washu le 17-06-2005 à 22:07:15
Plus d'informations

C'est bon j'ai trouvé en fait il fallait mettre :

Code :
  1. <body onload="CacheTout('menu1');CacheTout('menu2');CacheTout('menu3');CacheTout('menu11');
  2. CacheTout('menu21')";" bgcolor="#336699" link="#33CCCC" vlink="#33CCCC" alink="#33CCCC" background="../Ressources/Fonds/fond_menu.gif">


C'était si compliqué à me dire que ça????


Message édité par _washu le 19-06-2005 à 14:24:31
Profil : Pointeur
Plus d'informations

non mais faut que tu apprennes par toi meme :o
 
maintenant tu va me faire le plaisir de jeter ce code de merder et passer par les css...
 
http://css.alsacreations.com/Const [...] us-en-CSS/
http://css.maxdesign.com.au/listamatic/


Message édité par KangOl le 19-06-2005 à 14:33:13

---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

thx ça m'a l'air très bien je vais regarder ça de ce pas ;)


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » HTML / Javascript » [JS] Menu dynamique help !
 

Annonces Google