Bonjour, j'ai un petit problème avec un code javascript.
J'ai une page web de largeur fixe (1000px),le menu fonctionnemt très bien avec FF mais avec IE, le menu ne se décale pas (en fonction de ma largeur fixe) et garde le bord gauche de la fenêtre comme référence alors si quelqu'un pouvait me guider ce serai sympa!
Voici le code javascript :
Je n'ai insérer que la partie du positionnement s'il vous manque quelques éléments demander les moi.
J'ai une page web de largeur fixe (1000px),le menu fonctionnemt très bien avec FF mais avec IE, le menu ne se décale pas (en fonction de ma largeur fixe) et garde le bord gauche de la fenêtre comme référence alors si quelqu'un pouvait me guider ce serai sympa!
Voici le code javascript :
/*Place les éléments du menu correctement, au chargement, au scroll, au redimensionnement de la fenêtre */
function positionne() {
var largeur_fenetre = (isIE?document.body.clientWidth:window.innerWidth);
var hauteur_fenetre = (isIE?document.body.clientHeight:window.innerHeight);
if (centrer_menu) {
if (!vertical) {
var largeur_totale = espace_entre_menus * (nbmenu-1);
if (isFinite(largeur_menu))
largeur_totale += largeur_menu * nbmenu;
else {
for (i = 1; i <= nbmenu; i++)
largeur_totale += largeur_menu[i-1];
}
left_menu = (largeur_fenetre - largeur_totale)/2;
} else {
var hauteur_totale = espace_entre_menus * (nbmenu-1);
if (isFinite(hauteur_menu))
hauteur_totale += hauteur_menu * nbmenu;
else {
for (i = 1; i <= nbmenu; i++)
hauteur_totale += hauteur_menu[i-1];
}
top_menu = (hauteur_fenetre - hauteur_totale)/2;
}
}
//Menus
var cumul = 0;
for(i=1;i<=nbmenu;i++) {
with(document.getElementById("menu"+i).style) {
if (!vertical) {
top=top_menu+"px";
//left=(((i-1)*(largeur_menu+espace_entre_menus))+1+left_menu)+"px";
left=(((i-1)*espace_entre_menus)+cumul+1+left_menu)+"px";
} else {
//top=(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
top=(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
left=left_menu+"px";
}
if (!suivre_le_scroll || isIE || isIE5mac)
position="absolute";
else position="fixed";
//if (vertical) height=hauteur_menu+"px";
margin="0";
zIndex="2";
if (vertical || isFinite(largeur_menu))
width=largeur_menu+"px";
else
width=largeur_menu[i-1]+"px";
if ((!vertical && isFinite(largeur_menu)) || (vertical && isFinite(hauteur_menu))) {
cumul += (!vertical?largeur_menu:hauteur_menu);
}
else {
cumul += (!vertical?largeur_menu[i-1]:hauteur_menu[i-1]);
if (vertical) height=hauteur_menu[i-1]+"px";
}
}
}
//Sous-menus
cumul = 0;
for(i=1;i<=nbmenu;i++) {
if (document.getElementById("ssmenu"+i))//undefined
{
with(document.getElementById("ssmenu"+i).style) {
if (!suivre_le_scroll || isIE || isIE5mac)
position="absolute";
else position="fixed";
if (!vertical) {
top=top_ssmenu+"px";
//left=(((i-1)*(largeur_menu+espace_entre_menus))+1+left_menu)+"px";
left=(((i-1)*espace_entre_menus)+cumul+1+left_menu)+"px";
} else {
left=left_ssmenu+"px";
//top=(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
top=(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
}
if (isIE || isOpera || isIE5mac || !largeur_auto_ssmenu) {
if (isFinite(largeur_sous_menu))
width = largeur_sous_menu+(largeur_sous_menu!="auto"?"px":"");
else
width = largeur_sous_menu[i-1]+(largeur_sous_menu[i-1]!="auto"?"px":"");
}
else width = "auto";
if (!vertical && !isIE5mac) {
//repositionnement si déborde à droite
if ((width != "auto")
&& ((left.replace(reg,'').valueOf()*1 + width.replace(reg,'').valueOf()*1) > largeur_fenetre))
left = (largeur_fenetre-width.replace(reg,'').valueOf())+"px";
}
margin="0";
zIndex="3";
}
}
if ((!vertical && isFinite(largeur_menu)) || (vertical && isFinite(hauteur_menu))) {
cumul += (!vertical?largeur_menu:hauteur_menu);
}
else {
cumul += (!vertical?largeur_menu[i-1]:hauteur_menu[i-1]);
}
}
}
Je n'ai insérer que la partie du positionnement s'il vous manque quelques éléments demander les moi.