Bonjour,
Je dois centrer toutes les pages d'un site que je suis en train de développer. Le menu et les sous-menu développer sous forme de layer (calque). Le script ci-dessous permet de centrer le dit menu, ça fonctionne à peu près correctmement sauf que IE m'affiche quand même une erreur, ligne 21 car 4, objet requis.
Voici le contenu de ma page :
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<link rel="stylesheet" href="d_basic.css" type="text/css">
<link href="main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="mm2scripts.js"></script>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
var isNav=false;
var isIE=false;
var xcenter=-1;
if (navigator.appName=="Netscape")
isNav=true;
else
isIE=true;
function onInit()
{
if (isIE)
xcenter = Math.round(document.body.clientWidth/2);
else
xcenter = Math.round( window.innerWidth /2);
if(xcenter > 390) {
if(isIE) {
p7TBtrig10.style.left = 10 + (xcenter - 390);
p7TBsub10.style.left = 10 + (xcenter - 390);
p7TBtrig20.style.left = 127 + (xcenter - 390)
p7TBsub20.style.left = 127 + (xcenter - 390);
}
else {
document.p7TBtrig10.left = 10 + (xcenter - 390);
document.p7TBsub10.left = 10 + (xcenter - 390);
document.p7TBtrig20.left = 127 + (xcenter - 390);
document.p7TBsub20.left = 127 + (xcenter - 390);
//document.bgd.left = 0 + (xcenter - 390);
}
}
else {
if(isIE) {
p7TBtrig10.style.left = 10;
p7TBsub10.style.left = 10;
p7TBtrig20.style.left = 127;
p7TBsub20.style.left = 127;
//bgd.style.left = 0;
}
else {
document.p7TBtrig10.left = 10 + (xcenter - 390);
document.p7TBsub10.left = 10 + (xcenter - 390);
document.p7TBtrig20.left = 127 + (xcenter - 390);
document.p7TBsub20.left = 127 + (xcenter - 390);
//document.bgd.left = 0 + (xcenter - 390);
}
}
}
function NavHandleResize()
{
location.reload();
return false;
}
// gestion du resize de la fenetre
if (isIE) window.onresize = onInit;
else
{
window.captureEvents(Event.RESIZE);
window.onresize = NavHandleResize;
}
onInit()
</SCRIPT>
<BODY onLoad="P7_setMM2('p7TBim10',1,2,'Sublink 1.2','p7tbdn');P7_trigMM2();onInit()">
<div id="p7TBtrig10" style="position:absolute; left: 10px; top: 66px; width: 117px; z-index: 300; visibility: visible"><a href="javascript:;" onMouseOver="P7_trigMM2('p7TBim10')"><img src="../m2img/dbscb1.gif" alt="menu 1" name="p7TBim10" id="p7TBim10" width="117" height="22" border="0"></a></div>
<div id="p7TBsub10" class="p7tbsub" style="position:absolute; left: 10px; top: 88px; width: 148px; z-index: 400; visibility: hidden">
<p><a href="#">Sublink 1.1</a></p>
<p><a href="#">Sublink 1.2</a></p>
<p><a href="#">Sublink 1.3</a></p>
<p><a href="#">Sublink 1.4</a></p>
<p><a href="#">Sublink 1.5</a></p>
</div>
<div id="p7TBtrig20" style="position:absolute; left: 127px; top: 66px; width: 117px; z-index: 300; visibility: visible"><a href="javascript:;" onMouseOver="P7_trigMM2('p7TBim20')"><img src="../m2img/dbscb2.gif" alt="menu 2" name="p7TBim20" id="p7TBim20" width="117" height="22" border="0"></a></div>
<div id="p7TBsub20" class="p7tbsub" style="position:absolute; left: 127px; top: 88px; width: 148px; z-index: 400; visibility: hidden">
<p><a href="#">Sublink 2.1</a></p>
<p><a href="#">Sublink 2.2</a></p>
<p><a href="#">Sublink 2.3</a></p>
<p><a href="#">Sublink 2.4</a></p>
<p><a href="#">Sublink 2.5</a></p>
</div>
</BODY>
</HTML>
si vous voulez testez ce script sur votre machine vous devrez créer la page: mm2scripts.js et y copier le script suivant:
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 P7_setMM2(){ //v2.0 by PVII
document.p7TabOver="_over";
document.p7TabDown="_down";
var dt=false;if(document.getElementsByTagName){dt=true;}if(document.P7TabBar){return;}
var i,k=-1,g,x,gg,tl,ts,ti,tm,tt,tsn,tu,el,args=P7_setMM2.arguments;
P7TabProp=new Array();for(i=0;i<args.length;i++){P7TabProp[i]=args[i];}
P7TabIM=new Array();P7TabSB=new Array();if(dt){tm=document.getElementsByTagName("IMG");
}else{tm=document.images;}tm=document.images;tt=new Array();tt=tt.concat(tm);
if(document.layers){for(i=0;i<document.layers.length;i++){ti=document.layers[i].document.images;
if(ti){tt=tt.concat(ti);}for(x=0;x<document.layers[i].document.layers.length;x++){
ti=document.layers[i].document.layers[x].document.images;if(ti){tt=tt.concat(ti);}}}tm=tt;}
for(i=0;i<tm.length;i++){tl=tm[i].name; if(dt&&!tl){tl=tm[i].id;}
if(tl && tl.indexOf("p7TBim")==0){ts=tl.replace("p7TBim","");
tsn="p7TBsub"+ts;k++;P7TabIM[k]=tl;if((g=MM_findObj(tsn))!=null){P7TabSB[k]=tsn;
gg=(document.layers)?g:g.style;gg.visibility="hidden";}else{P7TabSB[k]='N';}}}
document.P7_TBswapd=new Array();document.P7_TBswapo=new Array();for(i=0;i<P7TabIM.length;i++){
g=MM_findObj(P7TabIM[i]);gg=g.src;g.p7TBim=g.src;tu=gg.lastIndexOf(".");
g.p7TBimo=gg.substring(0,tu)+document.p7TabOver+gg.substring(tu,gg.length);
g.p7TBimd=gg.substring(0,tu)+document.p7TabDown+gg.substring(tu,gg.length);
if(P7TabProp[2]>1){document.P7_TBswapo[i]=new Image();document.P7_TBswapo[i].src=g.p7TBimo;}
if(P7TabProp[2]>0){if(P7TabProp[2]==3){g.p7TBimd=g.p7TBimo;}document.P7_TBswapd[i]=new Image();
document.P7_TBswapd[i].src=g.p7TBimd;}}if((g=MM_findObj('P7TabH'))!=null){gg=(document.layers)?g:g.style;
gg.visibility="hidden";}if(dt&&P7TabProp[3]!='none'&&!window.opera){
g=document.getElementsByTagName("A");for(i=0;i<g.length;i++){if(g[i].hasChildNodes()){el=g[i].firstChild;
while (el){if(el.nodeType==3){gg=el.nodeValue;if(P7TabProp[3]==gg.replace("\n","")){
g[i].className=P7TabProp[4];break;}}el=el.firstChild;}}}}document.P7TabBar=true;
}
function P7_trigMM2(bu){ //v2.0 by PVII
if(!document.P7TabBar){return;}var i,g,d,dB=-1,tF=false,sF=false;
for(i=0;i<P7TabSB.length;i++){sF=false;if((g=MM_findObj(P7TabSB[i]))!=null){g=MM_findObj(P7TabSB[i]);
gg=(document.layers)?g:g.style;sF=true;}d=MM_findObj(P7TabIM[i]);if(P7TabIM[i]==P7TabProp[0]){
dB=i;}if(P7TabIM[i]==bu){tF=true;if(sF){gg.visibility="visible";}if(P7TabProp[2]>0){
if(i==dB){d.src=d.p7TBimd;}else if (P7TabProp[2]>1){d.src=d.p7TBimo;}}if((g=MM_findObj('P7TabH'))!=null){
gg=(document.layers)?g:g.style;gg.visibility="visible";}}else{if(sF){gg.visibility="hidden";}
if(P7TabProp[2]>0){d.src=d.p7TBim;}}}if(!tF){if(dB>-1){d=MM_findObj(P7TabIM[dB]);
if((g=MM_findObj(P7TabSB[dB]))!=null&&P7TabProp[1]==0){gg=(document.layers)?g:g.style;
gg.visibility="visible";}if(P7TabProp[2]>0){d.src=d.p7TBimd;}}
if((g=MM_findObj('P7TabH'))!=null){gg=(document.layers)?g:g.style;gg.visibility="hidden";}}
}
function P7_Shop(a) { //v1.0 by PVII
document.p7shop = window.open(a,'theShop','toolbar=yes,status=yes,menubar=no,scrollbars=yes,resizable=yes,height=600,width=800');
document.p7shop.focus();
}
D'avance merci de votre aide
Jib - In tartiflette we trust