begin process at 2010 03 22 13:17:27
  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 Ligne de code trop longue ! [ par botcharoff ] Salut à tous !! Je suis nouveau ici ! Voila, jai un petit probleme dans le script suivant : ******************* *****script : ********* var I 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 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 changer la visiblité d'un champ [ par emaro ] bonjour, j'aimerais en cliquant sur le bouton répondre la visibilité de l'input se change, si elle est 'visible' elle devient 'hidden' et contrairemen Problème avec la position du curseur sur IE [ par Aeres ] Bonjour j'ai un petit soucis sous IE [^^sad2] je voudrais faire apparaitre une bulle d'infos à la position de la souris mais event.x semble dépendre d


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,499 sec (3)

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