Problème menu déroulant avec Firefox

franckdu34 Messages postés 3 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 11 octobre 2008 - 10 oct. 2008 à 21:01
franckdu34 Messages postés 3 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 11 octobre 2008 - 11 oct. 2008 à 12:26
Bonjour,

J'ai mis un menu déroulant sur mon site qui fonctionne parfaitement sous Internet Explorer mais pas sous Firefox.
Quelqu'un aurait-il la solution pour qu'il fonctionne sous Firefox ? Ci-dessous le script et juste après le code HTML.

Merci d'avance pour votre aide.
Franck

<SCRIPT

language= JavaScript>
document.onmouseover
=openIt
;

functionopenIt
(event
)
{

varitems
=
2;
event
=event
||window
.event
;
currEl
= window
.event
.toElement

if
(currEl
.className
== "two"
)
{
newId
=currEl
.id
+"box"
showBox
= document
.getElementById
(newId
)
showBox
.style
.display
= "block"
}

for
(i
= 1; i
< = items
;i
++)
{
openItem
= "item"
+ i
+"box"
elOpen
=document
.getElementById
(openItem
)

if
((elOpen
.style
.display
= = "block"
)&&( elOpen
! =showBox
))
elOpen
.style
.display
= "none"

if
(currEl
.className
== "closeIt"
)
{
elOpen
.style
.display
="none"
}
}
}

functioncloseIt
()
{
document
.all
.item1box
.style
.display
= "none"
;
document
.all
.item2box
.style
.display
="none"
;
}

document
.onclick
= closeIt
;
document
.onload
=initialisation
;
</SCRIPT>

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<
a class"two" id"item1" href= # > Nos produits</
a>

class =\"box\" id= \"item1box\" onMouseOver =\"this.style.display'block' \" style \"DISPLAY: none\" width= \"100%\" cellpadding =\"2\">
----
<a class="sousmenu" href="index.php?to=caisses" title="Caisses">Caisses</a>,
----
<a class="sousmenu" href="index.php?to=caisses_navette" title="Caisses navettes">Caisses navettes</a>,
----
<a class="sousmenu" href="index.php?to=amenagements_calages" title="Caisses : aménagements et calages">Caisses : aménagements et calages</a>,
----
<a class="sousmenu" href="index.php?to=palettes_emballages" title="Palettes et emballages divers">Palettes et emballages divers</a>

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 oct. 2008 à 08:21
bonjour,

certes... mais où est la fonction initialisation() ?
ensuite, : ...onMouseOver="this.style.display='block'" style="DISPLAY: none"
               tu vas avoir du mal à passer au dessu d'un machin caché.
après event=event||window.event;
        currEl=window.event.
FF n'aime pas trop window     ;o)

pas regardé plus loin... il y a peut-être d'autres chsoes....
mais bref :

Chrome
, controler la page actuelle
Options pour les développeurs
Console Javascript, ----
FireFox
, regarder la "console d'erreurs"
Outils / Console d'erreurs
et mieux : télécharger mon Site] [M'écrire]          
0
franckdu34 Messages postés 3 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 11 octobre 2008
11 oct. 2008 à 11:26
Bonjour,

Merci pour ta réponse. J'ai oublié de préciser que je n'y connais rien en Javascript. Je me suis contenté de "pomper" un script quelque part et de le mettre sur mon site en changeant les couleurs.

Voici le script en action, voir lien "Nos produits" et "Nos services" (qui fonctionne sous IE) :
http://www.ebs-france.com/zev2/index.php

Voici le code d'origine :
<SCRIPT
language= JavaScript>
document
.

onmouseover


=

openIt







function


openIt


()


{



var


items


=



2
;



currEl


=

window


.

event


.

toElement





if




(

currEl


.

className




"two"


)


{
newId

=

currEl


.

id


+

"box"


showBox


=

document


.

all


(

newId


)



showBox


.

style


.

display


=

"block"

}



for




(

i


=
1
;

i


< =

items


;

i


++)


{
openItem

=

"item"


+

i


+

"box"


elOpen


=

document


.

all


(

openItem


)






if




((

elOpen


.

style


.

display




"block"


)&&(

elOpen


! =

showBox


))



elOpen


.

style


.

display


=

"none"





if




(

currEl


.

className


= =

"closeIt"


)


{
elOpen

.

style


.

display


=

"none"

}
}
}



function


closeIt


()


{
document

.

all


.

item1box


.

style


.

display


=

"none"


;



document


.

all


.

item2box


.

style


.

display


=

"none"


;


}

document

.

onclick


=

closeIt


</SCRIPT>




J'avais changé quelques trucs en fonction de réponses que j'avais trouvé sur des forums mais tout ça sans logique de programmation puisque je n'y comprends rien...

L'idéal serait qu'on me prenne par la main pour modifier ce script afin que le menu fonctionn sous Firefox.

Merci si quelqu'un peut faire quelque chose pour le neuneu
Franck
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 oct. 2008 à 11:37
>>J'ai oublié de préciser que je n'y connais rien en Javascript.
c'est le moment d'apprendre.
je t'ai donné des pistes... répare au moins cela.
          Bul [mon Site] [M'écrire]          
0
franckdu34 Messages postés 3 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 11 octobre 2008
11 oct. 2008 à 12:26
En regardant la Console d'erreurs, en effet Firefox me retourne ces erreurs :

Erreur : initialisation is not defined
Fichier Source : http://www.ebs-france.com/zev2/index.php
Ligne : 44

Erreur : window.event is undefined
Fichier Source : http://www.ebs-france.com/zev2/index.php
Ligne : 17

Je prend un aspirine et j'attaque la leçon.
Franck
0
Rejoignez-nous