Rechercher : dans
Par :

Faire apparaitre un sous menu avec CSS et Js

Lainoux, le 25 mai 2009 à 22:35:23 
 Signaler ce message aux modérateurs

Bonjour,

J'ai créer un site dont on peut voir un menu fixe a gauche et lors d'un click sur le menu, un sous menu apparait à droite : sur I.E cela fonctionne très bien mais pas sur les autres navigateurs.

Je n'arrive pas à trouver l'erreur, voici ci dessous les codes que j'ai utilisés :

sur Index.htm :
<td width="630" height="40" background="images/site/sous-menu.jpg" style="font-size: 16px" style="color: white">
<div id="accueil">
<br> <a href="repertoire/accueil/presentation.htm" target="vide">Présentation</a> -
<a href="repertoire/accueil/actualites.htm" target="vide">Actualités</a>
</div>
<div id="ecole">
<br> 
<a href="repertoire/ecoledudos/presentation.htm" target="vide">Présentation</a> -
<a href="repertoire/ecoledudos/horaires.htm" target="vide">Horaires</a>
</div>
...
</td>

sur style.css
#accueil{
position:absolute;
z-index:1;
visibility: show;
}
#ecole {
position:absolute;
z-index:2;
visibility: hidden;
}...

et sur java:
function MM_findObj(n, d) { //v4.01
var p,i,x;
if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length)
{
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
}
if(!(x=d[n])&&d.all) x=d.all[n];
for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n);
return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3)
if ((obj=MM_findObj(args[i]))!=null)
{ v=args[i+2];
if (obj.style)
{ obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v;
}
}

Merci

Configuration: Windows XP Internet Explorer 7.0