bonjour,
je connais pas trop sur javascript, j'ai telechargé un script pour un menu horizentale d'ici, et je l'ai integré dans mon site, il marche tres bien mais j'ai deux pti probleme:
- le menu s'affiche horizentalement comme il faut avec IE,mais pour firefox le sous menu s'affiche decalé ( completement a droite de la page)
- quand je clique sur le menu, il ouvre la page demandé dans une autre page, alors que moi j'aimerais qu'elle s'ouvre dans la meme page.
voici le script :
<!-- script du menu horizentale -->
<DIV id="cadremenu" style="position:absolute; visibility:hidden; z-index:3; left: 100px; width: 520px; top: 150px;">
</DIV>
<div style="left: 30px; position: absolute; top: 30px; height: 100px" align="center">
<script language="javascript" >
window.status = "Voici un petit menu !";
posXmenu = 270; //distance entre le bord gauche de l'écran et le côté gauche du menu
posYmenu = 150; //distance entre le bord supérieur de l'écran et le haut du menu
bgcolor = '#00A2D2'; //couleur du menu
bgcolor2 = '#00FF00'; //couleur des cellules survolées
sousmenu = new Array; //création d'un tableau
sousmenu[0] = new Array; //création d'un tableau dans le tableau
sousmenu[1] = new Array;
sousmenu[2] = new Array;
sousmenu[3] = new Array;
sousmenu[4] = new Array;
sousmenu[5] = new Array;
sousmenu[0][0] = '<A HREF="acceuil.html" CLASS=menu>Page d\'accueil</A>'; //on enregistre les liens dans un éléments du tableau (de tableau)
sousmenu[1][0] = '<A HREF="societe.html" TARGET="2" CLASS=menu>La société</A>';
sousmenu[2][0] = '<A HREF="equipe.html" TARGET="2" CLASS=menu>Notre équipe</A>';
sousmenu[2][1] = '<A HREF="muyen.html" TARGET="2" CLASS=menu>Nos moyens</A>';
sousmenu[2][2] = '<A HREF="activites.html" TARGET="2" CLASS=menu>Nos activités</A>';
sousmenu[3][0] = '<A HREF="construction.html" TARGET="2" CLASS=menu>Constructions</A>';
sousmenu[3][1] = '<A HREF="fourniture.html" TARGET="2" CLASS=menu>Fourniture</A>';
sousmenu[4][0] = '<A HREF="devis.html" TARGET="2" CLASS=menu>Devis</A>';
sousmenu[5][0] = '<A HREF="devis.html" TARGET="2" CLASS=menu>Devis</A>';
dom = document.getElementById; //test de compatibilité du navigateur plus rapide
document.write('<style type = "text/css">'); //on écrit dans une page HTML qui contiendra le script d'une feuille de style qui définit la couleur des liens du menu
document.write('A:hover.menu {color:white; text-decoration:none;}');
document.write('A.menu {color:white; text-decoration:none;}');
document.write('</style>');
if(dom)
document.getElementById("cadremenu").style.top = posYmenu+55; //on place l'élément cadremenu à 55 pixels sous le haut du menu fixe
function SousMenu(msg,pos){
if(dom){ //si le navigateur est compatible
document.getElementById("cadremenu").style.left = posXmenu+pos+30; //position du sous-menu en fonction de pos et de la position du menu principal
var tab = "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#FFFFFF WIDTH=120><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>"; //début de tableau HTML
for(pass=0;pass < msg.length;pass++){ //boucle qui va s'exécuter autant de fois qu'il y a de liens enregistrés dans le tableau passé en paramètre msg
tab += "<TR><TD BGCOLOR="+bgcolor+" onMouseOver=\"this.style.background='"+bgcolor2+"'\"HEIGHT=20><FONT SIZE=3 FACE=\"Verdana\">"+msg[pass]+"</FONT></TD></TR>"; //on ajoute à la variable tab une ligne de tableau HTML contenant un lien. Avec onMouseOver et onMouseOut : changement de couleur de la cellule au passage de la souris.
}
tab += "</TABLE></TD></TR></TABLE>"; //on ajoute les codes HTML qui vont fermer les tableaux
document.getElementById("cadremenu").innerHTML = tab; //on écrit le contenu de la variable tab dans l'élément dont l'ID est cadremenu
document.getElementById("cadremenu").style.visibility = "visible"; //on rend l'élément visible
}
}
function KillFenetre(){
if(dom)
document.getElementById("cadremenu").style.visibility = "hidden";
}
document.onclick = KillFenetre; //fait disparaitre le sous menu lorsqu'un clic est détecté sur la page
if(dom){
document.write('<DIV STYLE="position:absolute; top:'+posYmenu+'px; left:'+posXmenu+'px; z-index:10;"><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#00A2D2 WIDTH=650><TR><TD><TABLE CELLPADDING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25><TR>'); //on écrit le tableau contenu dans les balises DIV sans ID dans lesquelles on définit son style. La position est absolue. Placement sur la page définie avec posXmenu et posYmenu
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[0],0)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">Accueil</FONT></A></TD>'); //largeur de 100 pixels -- couleur de fond -- une instruction javascript pour changer la couleur de la cellule et lancer la fonction SousMenu() -- instruction qui fait repasser la couleur de la cellule à sa couleur originale quand la souris ne la survole pas
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[1],108)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">La société</FONT></A></TD>');
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[2],215)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">Présentation</FONT></A></TD>');
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[3],328)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">Applications</FONT></A></TD>');
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[4],436)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">Devis</FONT></A></TD>');
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\'; SousMenu(sousmenu[5],543)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A CLASS=menu><FONT SIZE=3 FACE="Verdana">Contact</FONT></A></TD>');
document.write('</TR></TABLE></TD></TR></TABLE></DIV>');
}
</script>