Problème avec un menu dynamique en JavaScript

Fermé
lelorientais - 20 déc. 2004 à 13:15
 Umaga - 14 janv. 2005 à 23:41
Bonjour à tous,

Je doit l'avouer je ne suis pas très doué...

J'ai un soucis avec un menu que je veut mettre sur mon site (dans un truc me servant de live) www.toutsurlefoot.net

La page qui pose problème la voici :
http://www.toutsurlefoot.net/live.php?live=57

Dessus on peut y voir un menu en js que g fait a partir d'un code edité sur ce site...

Jusque la très bien mais j'ai un soucis...
En effet quand on deplace la souris sur "accueil" tout va bien mais quand on la met sur "france" par exemple dessus tout est décalé...

Comment puis-je remettre ça a sa place ?
J'ai cherché une ligne dans le code mais je n'ai pas réussi...

merci d'avance de bien vouloir m'aider...

Voici le code total en question :

bgcolor='4F7497';
bgcolor2='#B6B6B6';

document.write('<style type="text/css">');
document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; }')
document.write('#topgauche { position:absolute; z-index:10; }')
document.write('A:hover.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('A.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('</style>')
document.write('<div style="position:relative;height:25"><DIV class=popper id=topdeck></DIV>');
/*
SCRIPT EDITE SUR L'EDITEUR JAVACSRIPT
http://www.editeurjavascript.com
*/

/*
LIENS
*/
zlien = new Array;
zlien[0] = new Array;
zlien[1] = new Array;
zlien[2] = new Array;
zlien[3] = new Array;
zlien[4] = new Array;
zlien[5] = new Array;
zlien[0][0] = '<A HREF="http://toutsurlefoot.net" CLASS=ejsmenu>Accueil</A>';
zlien[1][0] = '<A HREF="http://www.toutsurlefoot.net/ligue1/index.php" CLASS=ejsmenu>Ligue 1</A>';
zlien[1][1] = '<A HREF="http://www.toutsurlefoot.net/ligue2/index.php" CLASS=ejsmenu>Ligue 2</A>';
zlien[3][2] = '<A HREF="http://toutsurlefoot.net/CDF/" CLASS=ejsmenu>Coupe de France</A>';
zlien[3][3] = '<A HREF="http://toutsurlefoot.net/CDL/" CLASS=ejsmenu>Coupe de la Ligue</A>';
zlien[3][4] = '<A HREF="http://toutsurlefoot.net/France/" CLASS=ejsmenu>Les Bleus</A>';
zlien[3][5] = '<A HREF="http://www.toutsurlefoot.net/mercato/" CLASS=ejsmenu>Mercato</A>';
zlien[3][6] = '<A HREF="http://www.toutsurlefoot.net/live.php?live=57" CLASS=ejsmenu>MultiLives Ligue 1</A>';
zlien[3][7] = '<A HREF="http://www.toutsurlefoot.net/live.php?live=56" CLASS=ejsmenu>MultiLives Ligue 2</A>';
zlien[1][0] = '<A HREF="http://www.toutsurlefoot.net/live.php?live=57" CLASS=ejsmenu>MultiLives Ligue 1</A>';
zlien[1][1] = '<A HREF="http://www.toutsurlefoot.net/live.php?live=56" CLASS=ejsmenu>MultiLives Ligue 2</A>';
var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { skn = document.topdeck }
else if (dom) { skn = document.getElementById("topdeck").style }
else if (iex) { skn = topdeck.style }
skn.top = 24;

function pop(msg,pos)
{
skn.visibility = "hidden";
a=true
skn.left = pos;
var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=74><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>";
pass = 0
while (pass < msg.length)
{
content += "<TR><TD BGCOLOR="+bgcolor+" onMouseOver=\"this.style.background='"+bgcolor2+"'\" onMouseOut=\"this.style.background='"+bgcolor+"'\" HEIGHT=20><FONT SIZE=1 FACE=\"Verdana\">  "+msg[pass]+"</FONT></TD></TR>";
pass++;
}
content += "</TABLE></TD></TR></TABLE>";
if (nava)
{
skn.document.write(content);
skn.document.close();
skn.visibility = "visible";
}
else if (dom)
{
document.getElementById("topdeck").innerHTML = content;
skn.visibility = "visible";
}
else if (iex)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
}
function kill()
{
skn.visibility = "hidden";
}
document.onclick = kill;
document.write('<DIV ID=topgauche><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=780><TR><TD><TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25><TR>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[0],0)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[0],0)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Accueil</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[1],100)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[1],100)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>Direct Live</b></FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[2],200)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[2],200)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>Classement en Live</b></FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[3],300)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[3],300)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">France</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[4],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Etranger</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[5],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Coupe d\'Europe</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[6],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Agora du Foot</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[7],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Multimedia</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[8],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Jeux & Loisirs</FONT></a></TD>')
document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[9],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana">Contact</FONT></a></TD>')

document.write('</TR></TABLE></TD></TR></TABLE></DIV></div>')
A voir également:

4 réponses

lelorientais
20 déc. 2004 à 13:16
petit loupé, le code ne vien pas de ce site... je me suis trompé
0
Salut le lorientais,
j'ai exactement le meme probleme.
En fait, j'ai augmenté la taille du tableau et des cellules, mais les 'sous parties' n'ont pas suivis le mouvement.
J'aimerais bien savoir si quelqu'un peut nous aider.
Et aussi, comment faire pour que le menu ne devienne pas transparent s'il passe au dessus d'un calque.
0
J'ai trouvé d'où venait le problème. Dans la dernière partie du script à chaque "Document.write" on trouve un peu plus loin "onMouseOver="pop(zlien[0],0" puis au suivantonMouseOver="pop(zlien[1],100", et encore onMouseOver="pop(zlien[2],200" et ainsi de suite pour chaque rubrique... en fait à chaque fois il faut rajouter la largeur en pixel des colonnes qu'on a redimensionné... là il va de 100 en 100 car sa largeur de base est 100...

pour des colonnes de 140 ça donnera onMouseOver="pop(zlien[0],0 puis onMouseOver="pop(zlien[1],140... puis onMouseOver="pop(zlien[2],280... et ainsi de suite!

A +

seb.
0
Bonsoir

Petit souci avec les menus dynamiques en javascript. J'en utilise un pour les rubriques de mon menu, je souhaiterais en intégrer un second. C impossible, le second interfère sur le 1er. Que faut-il faire ?

Merci d'avance
0