Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
918 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  |JS| souci d'affichage de sous-menu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

|JS| souci d'affichage de sous-menu

n°911761
effisk
我不讲中文
Posté le 01-12-2004 à 00:16:54  profilanswer
 

salut les filles,
 
j'ai un JS qui ne passe pas sous FireFox, je ne parviens pas à savoir pourquoi. Je ne maîtrise pas trop en JS. Voilà le coupable, quelqu'un a une idée de l'erreur que j'ai commis ?

Code :
  1. <script type=text/javascript language="JavaScript">
  2.           var menu = new Array();
  3.           var ssmenuNom = new Array();
  4.           menu[0] = 'Afrique du sud';
  5.           ssmenuNom[0] = new Array();
  6.           ssmenuNom[0][0] = '<a href="detail.php?dest=0">Hôtel PRESIDENT</a>';
  7.           ssmenuNom[0][1] = '<a href="detail.php?dest=1">ZIMBALI LODGE</a>';
  8.           ssmenuNom[0][2] = '<a href="detail.php?dest=2">Hôtel CASCADES</a>';
  9.           ssmenuNom[0][3] = '<a href="detail.php?dest=3">Hôtel LE PALACE</a>';
  10.           ssmenuNom[0][4] = '<a href="detail.php?dest=106">test</a> ';
  11.           ssmenuNom[0][5] = '<a href="detail.php?dest=98">SUN CITY</a> ';
  12.           ssmenuNom[0][6] = '<a href="detail.php?dest=99">DURBAN</a> ';
  13.           menu[1] = 'Brésil';
  14.           ssmenuNom[1] = new Array();
  15.           ssmenuNom[1][0] = '<a href="detail.php?dest=100">RIO</a> ';
  16.           ssmenuNom[1][1] = '<a href="detail.php?dest=101">PORTO SEGURO</a> ';
  17.           ssmenuNom[1][2] = '<a href="detail.php?dest=102">COSTA DO SAUIPE</a>';
  18. </script>

merci  :)


Message édité par effisk le 01-12-2004 à 00:20:22
mood
Publicité
Posté le 01-12-2004 à 00:16:54  profilanswer
 

n°911852
effisk
我不讲中文
Posté le 01-12-2004 à 10:23:21  profilanswer
 

eupe du matin, chagrin
[:dofor]


---------------
London Box Office: Comédie Musicale Londres
n°912059
effisk
我不讲中文
Posté le 01-12-2004 à 14:45:24  profilanswer
 

eupe du midi, souci
[:islord]

n°912069
0x90
Posté le 01-12-2004 à 14:58:28  profilanswer
 

T'as regardé la console JS  ( Tools -> javascript console ) pour voir les erreurs qu'il te fait ?
 
( généralement, fait un clear , puis reload le site, sinon elle sera pleine de vieilles erreurs )
 
[edit]
 
Si y'a que ca dans ton script, il risque pas de faire grand chose, apparement il déclare un tableau, le rempli, et ... rien, il en fait rien visiblement [:spamafote]
 
y'avait pas une autre partie avec ?


Message édité par 0x90 le 01-12-2004 à 14:59:37

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912073
effisk
我不讲中文
Posté le 01-12-2004 à 15:03:54  profilanswer
 

ouais j'ai zappé un truc, sorry. J'ajoute...
 
Donc voilà, je fais appel à ce script :
 
Si vous voulez voir la gueule de la page, voilà : http://teetravel.com/destinations.php
 
hurlez pas sur la css avec NS, FF et cie, je bosse dessus


Message édité par effisk le 01-12-2004 à 15:06:50
n°912079
effisk
我不讲中文
Posté le 01-12-2004 à 15:05:10  profilanswer
 

Code :
  1. var ie=document.all;
  2. var ns6=document.getElementById&&!document.all;
  3. var ancien_num_menu=-1;
  4. function ouvre_menu(num, nbMenus)
  5. {
  6.         if (ancien_num_menu==num)
  7.         {
  8.                 //var ie=document.all;
  9.                 //var ns6=document.getElementById&&!document.all;
  10.                 objet.style.display = '';
  11.         }
  12.           else
  13.         {
  14.                 for ( var i=0; i<nbMenus; i++)
  15.                 {
  16.                         if (ie)
  17.                         {
  18.                                 objet = document.all['ssmenu' + i];
  19.                         }
  20.                         else if (ns6)
  21.                         {
  22.                                 objet = document.getElementById('ssmenu' + i);
  23.                         }
  24.                         if (objet.style.display == '')
  25.                         {
  26.                                 objet.style.display = 'none';
  27.                         }
  28.                 }
  29.                 if (ie)
  30.                 {
  31.                         objet = document.all['ssmenu' + num];
  32.                 }
  33.                 else if (ns6)
  34.                 {
  35.                         objet = document.getElementById('ssmenu' + num);
  36.                 }
  37.                 if (objet.style.display == 'none')
  38.                 {
  39.                         objet.style.display = '';
  40.                 }
  41.                 ancien_num_menu=num;
  42.         }
  43. }
  44. function genere_menu(menus, ssmenusNom, nbMenus)
  45. {
  46.         /*
  47.         * Basé sur le script de menu vertical dynamique de :
  48.         * Daniel Fabien - webmaster@script-masters.com
  49.         * Script Masters - http://www.script-masters.com/
  50.         * Modifié par mes soins
  51.         */
  52.         for (i=0; i<nbMenus; i++)
  53.         {
  54.            document.write('<a href="javascript:ouvre_menu(' + i + ', ' + nbMenus + ')"><li>' + menus[i] + '</a>');
  55.            document.write('<font style="display:none" id="ssmenu' + i + '"><ul>');
  56.            for (z=0; z<ssmenusNom[i].length; z++)
  57.            {
  58.                 document.write('-&nbsp;' + ssmenusNom[i][z] + '<br />');
  59.            }
  60.            document.write('</ul></font>');
  61.            document.write('</li>');
  62.         }
  63. }

n°912111
0x90
Posté le 01-12-2004 à 15:26:17  profilanswer
 

Et la console JS de FFox , elle dit quoi ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912136
effisk
我不讲中文
Posté le 01-12-2004 à 15:43:57  profilanswer
 

0x90 a écrit :

Et la console JS de FFox , elle dit quoi ?

j'sais pas, il suffit de faire Tools/JavaScript Console sur la page en question ? Ca ne me dit rien du tout dans la popup[:spamafote]


Message édité par effisk le 01-12-2004 à 15:44:27
n°912181
0x90
Posté le 01-12-2004 à 16:12:08  profilanswer
 

tu l'ouvre, tu fait Clear, puis All, puis tu refresh ta page, la t'es a peu pres sur d'avoir tout ce qui peut avoir merdé sur ta page


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912186
effisk
我不讲中文
Posté le 01-12-2004 à 16:14:46  profilanswer
 

rien, pas de message, nada. [:gratgrat]
 
tu peux essayer, la page est là : http://teetravel.com/destinations.php


Message édité par effisk le 01-12-2004 à 16:15:37
mood
Publicité
Posté le 01-12-2004 à 16:14:46  profilanswer
 

n°912207
0x90
Posté le 01-12-2004 à 16:28:54  profilanswer
 

D'après ce que je vois, c'est plutot un problème de CSS/HTML la ... ( le menu est affiché on dirait, mais "compacté" )
 
effectivement, dans ton CSS, recherche :  
 #menu .menu_haut .text
et en dessous replace position:absolute par position:relative
ca va nettement mieux comme ca ;)
 
 
[edit]
 
Je suis c*n, jme suis trompé de menu ... enfin y'avait de toute facon un problème a cet endroit la ...


Message édité par 0x90 le 01-12-2004 à 16:31:50

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912214
effisk
我不讲中文
Posté le 01-12-2004 à 16:35:39  profilanswer
 

0x90 a écrit :

D'après ce que je vois, c'est plutot un problème de CSS/HTML la ... ( le menu est affiché on dirait, mais "compacté" )
 
effectivement, dans ton CSS, recherche :  
 #menu .menu_haut .text
et en dessous replace position:absolute par position:relative
ca va nettement mieux comme ca ;)
 
 
[edit]
 
Je suis c*n, jme suis trompé de menu ... enfin y'avait de toute facon un problème a cet endroit la ...

huhuhu oui je me demandais de quoi tu me parlais un instant. Mais merci quand même, ce truc là m'emm_rdait depuis un moment.http://forum.hardware.fr/icones/message/icon14.gif
C'est marrant j'avais le souvenir d'avoir essayé sans résultat.
 
Reste plus que le truc en JS

n°912216
0x90
Posté le 01-12-2004 à 16:36:50  profilanswer
 

On dirait que ca vient de ca :

Code :
  1. //var ie=document.all;
  2. //var ns6=document.getElementById&&!document.all;


décommente le ca devrait aller mieux ...
 

effisk a écrit :

huhuhu oui je me demandais de quoi tu me parlais un instant. Mais merci quand même, ce truc là m'emm_rdait depuis un moment.http://forum.hardware.fr/icones/message/icon14.gif
C'est marrant j'avais le souvenir d'avoir essayé sans résultat.
 
Reste plus que le truc en JS


 
Pour débugger ce genre de truc :
 
- Tools -> DOM Inspector
- tu clique sur le ptit carré avec une fleche du DOM inspector, puis sur l'element qui t'emmerde, en dessous t'aura l'arbre déplié a l'endroit ou l'objet se trouve, sur le second pane, tu clique sur le ptit icone en haut et tu choisis CSS style rules, ou Computed Styles, Computed te donne le résultat appliqué a l'objet, CSS style rule te permet de modifier les CSS et de voir dessuite le résultat ;)


Message édité par 0x90 le 01-12-2004 à 16:39:33

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912219
effisk
我不讲中文
Posté le 01-12-2004 à 16:39:28  profilanswer
 

0x90 a écrit :

On dirait que ca vient de ca :

Code :
  1. //var ie=document.all;
  2. //var ns6=document.getElementById&&!document.all;


décommente le ca devrait aller mieux ...

Ca ne fait aucune différence sous FF et ça ne marche plus sous IE.  :sweat:

n°912222
0x90
Posté le 01-12-2004 à 16:41:40  profilanswer
 

essaye de replacer les '' dans objet.style.display = ''; et l'autre dans le if par 'block' ou 'inline' voir ce que ca donne ... cela dit je comprends que ca puisse ne pas marcher en décommentant mais je comprends pas que ca puisse marcher en commentant ... sauf si y'a un autre script avant qui a déja reglé les variables ie et/ou ns6.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912234
effisk
我不讲中文
Posté le 01-12-2004 à 16:52:14  profilanswer
 

0x90 a écrit :

essaye de replacer les '' dans objet.style.display = ''; et l'autre dans le if par 'block' ou 'inline' voir ce que ca donne ... cela dit je comprends que ca puisse ne pas marcher en décommentant mais je comprends pas que ca puisse marcher en commentant ... sauf si y'a un autre script avant qui a déja reglé les variables ie et/ou ns6.

oui pardon, je déclare avant
 

Code :
  1. var ie=document.all;
  2. var ns6=document.getElementById&&!document.all;
  3. var ancien_num_menu=-1;


 
j'avais déjà essayé 'block', je vais essayer 'inline' pour voir.
 
merci

n°912239
effisk
我不讲中文
Posté le 01-12-2004 à 16:56:09  profilanswer
 

aucune différence, aussi bien pour 'block' que 'inline'...

n°912250
0x90
Posté le 01-12-2004 à 17:05:13  profilanswer
 

mmm jvois pas trop ce que ca pourrait être comme ca la .... cherche avec le DOM inspector ptêtre, mais a mon avis la solution c'est de partir sur un autre script plus propre ;)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°912260
effisk
我不讲中文
Posté le 01-12-2004 à 17:12:43  profilanswer
 

ouaip, je vais refaire un nouveau JS. Merci pour ton coup de main  :jap:  
 [:mad_oc@school]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  |JS| souci d'affichage de sous-menu

 

Sujets relatifs
[Débutant] Optimisation d'un menuComment transformer un NULL en autre chose à l'affichage ?
Affichage trop rapideWebbrowser affichage
MDI : Lien entre JInternalFrame et menu documentsAffichage fin page dans fenetre EDIT
[XHTML/CSS/JS] menu déroulantaffichage element swing
Liste menu (forumlaire), prob de transmission de valeurMenu déroulant
Plus de sujets relatifs à : |JS| souci d'affichage de sous-menu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR