Problème menu déroulant javascript et ie6

Fermé
Co77 Messages postés 2 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008 - 5 août 2008 à 12:38
Co77 Messages postés 2 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008 - 6 août 2008 à 09:48
Bonjour,

Je suis actuellement en train de créer un site, et je souhaitais intégrer un menu déroulant.
J'ai donc trouvé un exemple sur le web que j'ai intégré à mes pages.
J'ai cependant un problème : celui ne fonctionne pas avec Internet Explorer 6 (à noter : aucun problème avec firefox et opéra).

Voici le script, qui est dans un fichier séparé :


<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="onmouseenter" ONEVENT="showSubMenu()" />
<PUBLIC:ATTACH EVENT="onmouseleave" ONEVENT="hideSubMenu()" />

<SCRIPT LANGUAGE="JScript">
var menuBackground = '#517595
var menuHighLight = '#174773

function showSubMenu() {
// highlight current item
menuBackground = style.backgroundColor;
style.backgroundColor = menuHighLight;

// get sub menu
var submenu = getElementsByTagName('ul')[0];
if (submenu) {

// workaround for windowed select object bug
// that ignores zindex values
var iframe = getElementsByTagName('iframe')[0];
if (!iframe) {
iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.style.display='block';
iframe.style.position='absolute';
iframe.style.top=submenu.offsetTop;
iframe.style.left=0;
iframe.style.width=submenu.offsetWidth;
iframe.style.height=submenu.offsetHeight;
insertBefore(iframe, submenu);
}

// show sub menu
submenu.style.visibility='visible';
iframe.style.visibility='visible';
}
}

function hideSubMenu() {
// restore background
style.backgroundColor = menuBackground;

// hide submenu
var submenu = getElementsByTagName('ul')[0];
if (submenu) {
submenu.style.visibility='hidden';
getElementsByTagName('iframe')[0].style.visibility='hidden';
}
}

</SCRIPT>
</PUBLIC:COMPONENT>



N'étant pas une experte de développement je viens vers vous pour chercher de l'aide ;)
Merci d'avance
A voir également:

1 réponse

Hello,

Je ne connais pas les tags suivants que tu utilises dans ton code js :
<PUBLIC:COMPONENT> 
<PUBLIC:ATTACH EVENT="onmouseenter" ONEVENT="showSubMenu()" /> 
<PUBLIC:ATTACH EVENT="onmouseleave" ONEVENT="hideSubMenu()" />


Mais, est-ce que tu as essayé de remplacer le onmouseenter par onmouseover et le onmouseleave par onmouseout?

Personnellement, lorsque je code en html/js et je veux déclencher un event au passage de la souris j'utilise onmouseover qui fonctionnne très bien, et onmouseout lorsque la souris part de l'objet.

++

Sims'
0
Co77 Messages postés 2 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 09:48
Merci pour ta réponse.
J'ai modifié le script comme tu me le conseil, mais rien n'y fait. Le menu ne fonctionne toujours pas sous IE6.

^^
-1