Menu qui passe derrière combobox et listbox

Signaler
Messages postés
80
Date d'inscription
vendredi 4 janvier 2002
Statut
Membre
Dernière intervention
22 janvier 2007
-
Messages postés
1
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
13 janvier 2005
-
J'ai un menu dynamique. puis quand mon menu déroule et que tout pret il y a un listbox ou un combobox, mon menu apparaît derrière le listbox ou le combobox. Est-ce qu'il y a un moyen pour que mon menu soit devant ???

7 réponses

Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

Peut-être que c'est possible en réglant la propriété z-index (profondeur) du menu.

liste

Il faut encore que ton menu soit en position absolue...

Dean
Messages postés
80
Date d'inscription
vendredi 4 janvier 2002
Statut
Membre
Dernière intervention
22 janvier 2007
1
Non, ca ne fonctionne pas. Mais je ne sais pas si c'est à cause que mon menu est dans un fichier JS. J'ai mis un z-index dans ma déclaration de mon combobox, puis ca ne change rien.
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

Je ne sais pas.

Il faudrait que je voie ton menu, à moins que ce soit tout simplement un bug...

Dean
Messages postés
80
Date d'inscription
vendredi 4 janvier 2002
Statut
Membre
Dernière intervention
22 janvier 2007
1
Voici mon menu. Comme je te l'ai dit, c'est dans un fichier JS, et je l'ai pris sur www.editeurjavascript.com

posYmenu = 0;
bgcolor='#84A2BD';
bgcolor2='#01416B';
needcenter =false;
if(!needcenter)
posXmenu = 0;
else
{ if (document.all)
posXmenu = (document.body.clientWidth/2)-(500/2);
else
posXmenu = (window.innerWidth/2)-(500/2);
}
document.write('<style type="text/css">');
document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:0; }')
document.write('#topgauche { position:absolute; top:'+posYmenu+'px; left:'+posXmenu+'px; z-index:10; }')
document.write('A:hover.ejsmenu {color:white; text-decoration:none;}')
document.write('A.ejsmenu {color:white; text-decoration:none;}')
document.write('</style>')
document.write('

');
/*
SCRIPT EDITE SUR L'EDITEUR JAVACSRIPT
http://www.editeurjavascript.com
*/

/*
LIENS
*/
on = "on"
off = "off"
Contact = "Client/Contact/IndCnt.asp"
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] = 'Fermer la session';
zlien[4][1] = 'Changer d\'utilisateur';
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 = posYmenu+32;

function pop(msg,pos)
{
skn.visibility = "hidden";
a=true
skn.left = posXmenu+pos;
var content ="<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>";
pass = 0
while (pass < msg.length)
{
content += "----, \"+msg[pass]+\" </TD>\";
pass++;
}
content + = "
</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('
<TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=33>----
')
document.write(', Adresse</TD>')
document.write('Projet, ')
document.write('Rapport, ')
document.write('Utilitaires, ')
document.write('Système, ')
//document.write(', ')
document.write('
</TD></TR></TABLE>
')
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

Je n'ai pas testé le script mais tu peux être sûr d'une chose : ce n'est pas à cause que ton menu soit dans un fichier externe que ça ne fonctionne pas.
Comme je le disais, c'est sûrement ton navigateur qui ne gère pas correctement ce genre de cas.
Mais essaie quand même de changer les propriétés z-index que j'ai vu à plusieurs endroits dans le fichier JS. z-index définit la profondeur des éléments, s'ils doivent être situés au premier au arrière plan...
Peut-être qu'il y a moyen de faire quelque chose peut-être pas...

Dean
Messages postés
21
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2005

C'est une erreur de type windowed. C'est un bug reconnu par Microsoft. L'astuce c'est de mettre des "iframe" derriere tes "div".

Emil
Messages postés
1
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
13 janvier 2005

la solution :