begin process at 2012 02 13 15:24:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

centrer un menu en layer dans la page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

centrer un menu en layer dans la page

vendredi 8 août 2003 à 16:49:51 | centrer un menu en layer dans la page

jibchamonix

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
lundi 11 août 2003 à 10:06:14 | Re : centrer un menu en layer dans la page

memiks

Membre Club
il faut que tu supprime le onInit() juste avant ton body.

apparemment IE execute le window.resize à l'ouverture de la page.

Si tu dois executer tous de meme le oninit() pour les autres navigateurs m'est le dans le else.

@++


vous vous souvenez du pentium MMX ?
et bien c moi mémîks


-------------------------------
Réponse au message :
-------------------------------

> 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


Cette discussion est classée dans : style, document, left, xcenter, sublink


Répondre à ce message

Sujets en rapport avec ce message

Pb avec un javascript de scroll qui tourne sous IE mais pas sous Firefox [ par thonyboy ] Bonjour, Aprés de longues recherches, je tente ma chance auprés de vous... avec peut etre au final un Miracle Voila j'ai récupéré un petit script de Pb avec Firefox et DOCTYPE strict [ par nico03 ] Bonjour, J'ai créé une page web sous DOCTYPE strict XHTML 1.0 permettant d'afficher un texte défilant. Ce texte reprend les titres des news de la pa Compatibilité W3C - style.left [ par stanilou ] Bonjour,Ce test fonctionne sous IE mais pas sous FF (Le div ne se déplace pas):<html xm problème avec un menu [ par 77marsmars77 ] Bonjour à tous, J'ai un petit souci avec mon menu. Quand je clique sur le menu 1 il m'affiche les sous menus1. là c'est ok. Quand je clique sur le lie Pb avec IE [ par Thiman ] j'ai mis ce script d'info-bulle, trouver sur internet. Il fonctionne parfaitement sur Firefox et Opéra mais problème avec IE. Pourriez-vous me venir e onchange sous IE [ par j3r3m067 ] Bonjour, voila j'ai fait un script sous firefox qui m'affcihe une div en fonction de la valeur de la selection. je joins mes code html et js biensur Aide pour faire une boucle [ par nel_sim ] Bonjour ! Je débute en Javascript, c'est pour cela que j'ai besoin de vous ! En fait j'aimerai faire une boucle avec for ou while, mais je ne sais pa Deux javascripts identique dans une même page [ par guerrilleur ] Voila je voudrai avoir de fois le même javascript sur ma page. voici mon code actuel: [code=html] --> /*************** probleme avec mon code avec firefox et opera [ par savagestudio ] bonjour (mon clavier et en norvegien, desole [^^sad2]) , J ai u probleme avec mon code , il marche parfaitment avec safari, chrome,IE mais pas avec fi Comment puis-je améliorer ce script ??? [ par nanti ] Bonjour à tous !Tout d'abord, j'espère être dans le bon thème... !?Comme annoncer, je souhaite améliorer ces scripts pour n'en faire qu'un qui soit op


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales