Probleme de sous menu dans un calque

Fermé
outhman83 Messages postés 9 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 21 novembre 2008 - 2 sept. 2007 à 17:54
Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 - 2 sept. 2007 à 18:35
stl tout le monde, j'ai un probleme avec des sous menu que j'ai créer avec xara webstyle. en effet il marche tres bien en le mettant n'importe ou. mais en le mettant dans un calque le sous menu apparait mais quand je met le curseur dessus il disparait.vous avez une idée pour resousdre ce probleme. merci
A voir également:

3 réponses

Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 2 777
2 sept. 2007 à 17:58
“stl” ?
Tu veux dire “slt” ?
Tiens, ton clavier semble en manquer, je te les donnes “a”, “u”.
Ça fait que tu obtiens “salut”.
Pas mal, non ?

Comment veux-tu qu'on t'aide si tu ne donnes rien ?

Il nous faut de quoi.
Un peu de code, une adresse…

--
0
outhman83 Messages postés 9 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 21 novembre 2008
2 sept. 2007 à 18:08
ok merci pour le "a" et le "u"
maintenant mon clavier donne salut.
alors salut :
le menu est fait avec un logiciel "xara webstyle 3 " il m'a donné ce fichier en javascript et suis pas tres bon en javascript :

// ©Xara Ltd 2002
var ma=new Array();var mx=new Array();var my=new Array();var mc=new Array();var mal=0;var main=0;var menuw=200;var psrc=0;var pname="";var al="";var gd=0;var gx,gy;var NS7=(!document.all&&document.getElementById);var NS4=(!document.getElementById);var IE5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.0')!=-1);if(navigator.userAgent.indexOf('Opera')!=-1)NS4=1;var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);function startMainMenu(file,h,w,dir,space,align){if(w>0)menuw=w;main=dir;if(main==1||main==2)document.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");if(file!=""){al="";if(align==1)al=" align=\"right\"";if(align==2)al=" align=\"center\"";if(main==1||main==2)document.write("<tr><td"+al+">");document.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)document.write(" height=\""+h+"\"");if(w>0)document.write(" width=\""+w+"\"");document.write(" />");if(main==1||main==2)document.write("</td>");if(main==1)document.write("</tr>");if(main==3)document.write("<br />");}}function endMainMenu(file,h,w){if(file!=""){if(main==1)document.write("<tr>");if(main==1||main==2)document.write("<td"+al+">");document.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)document.write(" height=\""+h+"\"");if(w>0)document.write(" width=\""+w+"\"");document.write(" />");if(main==1||main==2)document.write("</td></tr>");}if(main==1||main==2)document.write("</table>");main=0;}function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s){if(NS4&&main==0)return;var isgraphic=ext.charAt(0)==".";if(main==1)document.write("<tr>");if(main==1||main==2)document.write("<td"+al+">");document.write("<a ");if(url!=""||!isgraphic)document.write("href=\""+url+"\" ");if(tar!="")document.write("target=\""+tar+"\" ");document.write("onmouseout=\"");if(dir>0)document.write("tidyMenu(event);");document.write("\" onmouseover=\"");if(dir>0)document.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");");if(state>1&&isgraphic){document[name+"_over"]=new Image();document[name+"_over"].src=loc+name+"_over"+ext;document.write("setGraphic(event, '"+loc+name+"_over"+ext+"');");}document.write("return false;\"");if(!isgraphic)document.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px\"");document.write(">");if(isgraphic){document.write("<img src=\""+loc+name+ext+"\" border=\"0\"");if(h>0)document.write(" height=\""+h+"\"");if(w>0)document.write(" width=\""+w+"\"");if(alt!="")document.write(" alt=\""+alt+"\"");document.write(" />");}else{document.write(" "+ext+" ");}document.write("</a>");if(main==1||main==2)document.write("</td>");if(main==1)document.write("</tr>");if(main==3)document.write("<br />");}function startSubmenu(name,style,sw){if(NS4)return;if(sw>0)menuw=sw;document.write("<div id=\""+name+"\" class=\""+style+"\" style=\"width:"+(menuw+(NS7?bd*2:0))+"px\">");}function endSubmenu(name){if(NS4)return;document.write("</div>");if(!NS7)document.getElementById(name).onmouseout=tidyMenu;}function submenuItem(text,url,tar,s){if(NS4)return;if(text.charAt(0)=='<')document.write(text);else{document.write("<a ");if(url!="")document.write("href=\""+url+"\" ");if(tar!="")document.write("target=\""+tar+"\" ");document.write("class=\""+s+"\" style=\"width:"+menuw+"px\"> "+text+" </a>");}}function setGraphic(event,name){if(NS4)return;psrc=(NS7)?event.target:event.srcElement;pname=psrc.src;if(NS7)event.target.src=name;else event.srcElement.src=name;}function openMenu(event,id,pos,bc,fc){if(NS4)return;var el,x,y;if(gd==0){var p=document.getElementById(id);gx=0;gy=0;while(p&&p.parentNode.nodeName!="BODY"){p=p.parentNode;if(p.nodeName=="DIV"||p.nodeName=="LAYER"||p.nodeName=="SPAN")if(p.style.position=="absolute"){gx+=p.offsetLeft;gy+=p.offsetTop;}}if(p)gd=1;}if(mal>0){el=document.getElementById(ma[mal-1]);if(mx[mal-1]!=el.offsetLeft||my[mal-1]!=el.offsetTop){el.style.left=mx[mal-1];el.style.top=my[mal-1];}tidyMenu(event);}if(NS7){var p=event.target;if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;dx=p.offsetWidth;dy=p.offsetHeight;if(mal==0){x=p.x;y=p.y;if(typeof(p.x)=="undefined"||!NS6){x=p.offsetLeft;y=p.offsetTop;while(!NS6&&p.parentNode.nodeName!="BODY"){p=p.parentNode;if(p.nodeName=="TD"||p.nodeName=="TABLE"){x+=p.offsetLeft;y+=p.offsetTop;}}}}else{el=document.getElementById(ma[mal-1]);x=el.offsetLeft;y=el.offsetTop+p.offsetTop;}if(pos!=3)x-=bd;if(pos==3&&mal>0)x+=bd;}else{x=event.clientX-event.offsetX+document.body.scrollLeft-document.body.clientLeft;y=event.clientY-event.offsetY+document.body.scrollTop-document.body.clientTop;dx=event.srcElement.offsetWidth;dy=event.srcElement.offsetHeight;if(mal>0){y-=bd;if(pos!=3)x-=2*bd;}x-=gx;y-=gy;}el=document.getElementById(id);if(el&&el.style.visibility!="visible"){if(pos==1){x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;}else if(pos==2){y+=dy;el.style.left=x+"px";el.style.top=y-el.offsetHeight+"px";nspeed=el.offsetHeight/frames;}else if(pos==3){x-=el.offsetWidth;el.style.left=x+el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;}mx[mal]=x;my[mal]=y;if(NS7||IE5||frames==0){el.style.left=x+"px";el.style.top=y+"px";}if(!IE5)clipMenu(mal,el);el.style.visibility="visible";ma[mal]=id;if(NS7){var p=event.target;if(p.nodeName!="A"&&p.parentNode.nodeName=="A")p=p.parentNode;mc[mal]=p.style;el.onmouseout=tidyMenu;}else{mc[mal]=event.srcElement.style;if(mal>0){mc[mal].backgroundColor=bc;mc[mal].color=fc;}}mal++;}}function overMenu(x,y){x-=gx;y-=gy;for(i=0;i<mal;i++){var el=document.getElementById(ma[i]);if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y){return ma[i];}}return "";}function tidyMenu(e){if(NS4)return;if(NS7){t=overMenu(e.pageX,e.pageY);if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))return;}else t=overMenu(event.clientX+document.body.scrollLeft-document.body.clientLeft,event.clientY+document.body.scrollTop-document.body.clientTop);om=0;for(i=0;i<mal;i++){var mail=ma[i].length;if(mail>t.length||t.substring(0,mail)!=ma[i]){var el=document.getElementById(ma[i]);el.style.visibility="hidden";mc[i].backgroundColor="";mc[i].color="";}else{ma[om]=ma[i];mx[om]=mx[i];my[om]=my[i];om++;}}mal=om;if(mal==0&&psrc)psrc.src=pname;}function animate(){for(i=0;i<mal;i++){var el=document.getElementById(ma[i]);if(el.style.visibility=="visible"){if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";clipMenu(i,el);}}if(mal!=0||frames!=0)setTimeout("animate()",50);}function clipMenu(i,el){if(el.offsetLeft>mx[i])el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";else el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";}
0
Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 2 777
2 sept. 2007 à 18:35
Bon, je le donne pour ceux que ça pourrait intéresser (c'est le même un peu plus “lisible”)
// ©Xara Ltd 2002 
var ma=new Array();
var mx=new Array();
var my=new Array();
var mc=new Array();
var mal=0;
var main=0;
var menuw=200;
var psrc=0;
var pname="";
var al="";
var gd=0;
var gx,gy;
var NS7=(!document.all&&document.getElementById);
var NS4=(!document.getElementById);
var IE5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.0')!=-1);
if(navigator.userAgent.indexOf('Opera')!=-1)NS4=1;
var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);
function startMainMenu(file,h,w,dir,space,align){if(w>0)menuw=w;
main=dir;
if(main==1||main==2)document.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");
if(file!=""){al="";
if(align==1)al=" align=\"right\"";
if(align==2)al=" align=\"center\"";
if(main==1||main==2)document.write("<tr><td"+al+">");
document.write("<img src=\""+loc+file+"\" border=\"0\"");
if(h>0)document.write(" height=\""+h+"\"");
if(w>0)document.write(" width=\""+w+"\"");
document.write(" />");
if(main==1||main==2)document.write("</td>");
if(main==1)document.write("</tr>");
if(main==3)document.write("<br />");
}}function endMainMenu(file,h,w){if(file!=""){if(main==1)document.write("<tr>");
if(main==1||main==2)document.write("<td"+al+">");
document.write("<img src=\""+loc+file+"\" border=\"0\"");
if(h>0)document.write(" height=\""+h+"\"");
if(w>0)document.write(" width=\""+w+"\"");
document.write(" />");
if(main==1||main==2)document.write("</td></tr>");
}if(main==1||main==2)document.write("</table>");
main=0;
}function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s){if(NS4&&main==0)return;
var isgraphic=ext.charAt(0)==".";
if(main==1)document.write("<tr>");
if(main==1||main==2)document.write("<td"+al+">");
document.write("<a ");
if(url!=""||!isgraphic)document.write("href=\""+url+"\" ");
if(tar!="")document.write("target=\""+tar+"\" ");
document.write("onmouseout=\"");
if(dir>0)document.write("tidyMenu(event);
");
document.write("\" onmouseover=\"");
if(dir>0)document.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");
");
if(state>1&&isgraphic){document[name+"_over"]=new Image();
document[name+"_over"].src=loc+name+"_over"+ext;
document.write("setGraphic(event, '"+loc+name+"_over"+ext+"');
");
}document.write("return false;
\"");
if(!isgraphic)document.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px\"");
document.write(">");
if(isgraphic){document.write("<img src=\""+loc+name+ext+"\" border=\"0\"");
if(h>0)document.write(" height=\""+h+"\"");
if(w>0)document.write(" width=\""+w+"\"");
if(alt!="")document.write(" alt=\""+alt+"\"");
document.write(" />");
}else{document.write(" "+ext+" ");
}document.write("</a>");
if(main==1||main==2)document.write("</td>");
if(main==1)document.write("</tr>");
if(main==3)document.write("<br />");
}function startSubmenu(name,style,sw){if(NS4)return;
if(sw>0)menuw=sw;
document.write("<div id=\""+name+"\" class=\""+style+"\" style=\"width:"+(menuw+(NS7?bd*2:0))+"px\">");
}function endSubmenu(name){if(NS4)return;
document.write("</div>");
if(!NS7)document.getElementById(name).onmouseout=tidyMenu;
}function submenuItem(text,url,tar,s){if(NS4)return;
if(text.charAt(0)=='<')document.write(text);
else{document.write("<a ");
if(url!="")document.write("href=\""+url+"\" ");
if(tar!="")document.write("target=\""+tar+"\" ");
document.write("class=\""+s+"\" style=\"width:"+menuw+"px\"> "+text+" </a>");
}}function setGraphic(event,name){if(NS4)return;
psrc=(NS7)?event.target:event.srcElement;
pname=psrc.src;
if(NS7)event.target.src=name;
else event.srcElement.src=name;
}function openMenu(event,id,pos,bc,fc){if(NS4)return;
var el,x,y;
if(gd==0){var p=document.getElementById(id);
gx=0;
gy=0;
while(p&&p.parentNode.nodeName!="BODY"){p=p.parentNode;
if(p.nodeName=="DIV"||p.nodeName=="LAYER"||p.nodeName=="SPAN")if(p.style.position=="absolute"){gx+=p.offsetLeft;
gy+=p.offsetTop;
}}if(p)gd=1;
}if(mal>0){el=document.getElementById(ma[mal-1]);
if(mx[mal-1]!=el.offsetLeft||my[mal-1]!=el.offsetTop){el.style.left=mx[mal-1];
el.style.top=my[mal-1];
}tidyMenu(event);
}if(NS7){var p=event.target;
if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;
dx=p.offsetWidth;
dy=p.offsetHeight;
if(mal==0){x=p.x;
y=p.y;
if(typeof(p.x)=="undefined"||!NS6){x=p.offsetLeft;
y=p.offsetTop;
while(!NS6&&p.parentNode.nodeName!="BODY"){p=p.parentNode;
if(p.nodeName=="TD"||p.nodeName=="TABLE"){x+=p.offsetLeft;
y+=p.offsetTop;
}}}}else{el=document.getElementById(ma[mal-1]);
x=el.offsetLeft;
y=el.offsetTop+p.offsetTop;
}if(pos!=3)x-=bd;
if(pos==3&&mal>0)x+=bd;
}else{x=event.clientX-event.offsetX+document.body.scrollLeft-document.body.clientLeft;
y=event.clientY-event.offsetY+document.body.scrollTop-document.body.clientTop;
dx=event.srcElement.offsetWidth;
dy=event.srcElement.offsetHeight;
if(mal>0){y-=bd;
if(pos!=3)x-=2*bd;
}x-=gx;
y-=gy;
}el=document.getElementById(id);
if(el&&el.style.visibility!="visible"){if(pos==1){x+=dx;
el.style.left=x-el.offsetWidth+"px";
el.style.top=y+"px";
nspeed=el.offsetWidth/frames;
}else if(pos==2){y+=dy;
el.style.left=x+"px";
el.style.top=y-el.offsetHeight+"px";
nspeed=el.offsetHeight/frames;
}else if(pos==3){x-=el.offsetWidth;
el.style.left=x+el.offsetWidth+"px";
el.style.top=y+"px";
nspeed=el.offsetWidth/frames;
}mx[mal]=x;
my[mal]=y;
if(NS7||IE5||frames==0){el.style.left=x+"px";
el.style.top=y+"px";
}if(!IE5)clipMenu(mal,el);
el.style.visibility="visible";
ma[mal]=id;
if(NS7){var p=event.target;
if(p.nodeName!="A"&&p.parentNode.nodeName=="A")p=p.parentNode;
mc[mal]=p.style;
el.onmouseout=tidyMenu;
}else{mc[mal]=event.srcElement.style;
if(mal>0){mc[mal].backgroundColor=bc;
mc[mal].color=fc;
}}mal++;
}}function overMenu(x,y){x-=gx;
y-=gy;
for(i=0;
i<mal;
i++){var el=document.getElementById(ma[i]);
if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y){return ma[i];
}}return "";
}function tidyMenu(e){if(NS4)return;
if(NS7){t=overMenu(e.pageX,e.pageY);
if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))return;
}else t=overMenu(event.clientX+document.body.scrollLeft-document.body.clientLeft,event.clientY+document.body.scrollTop-document.body.clientTop);
om=0;
for(i=0;
i<mal;
i++){var mail=ma[i].length;
if(mail>t.length||t.substring(0,mail)!=ma[i]){var el=document.getElementById(ma[i]);
el.style.visibility="hidden";
mc[i].backgroundColor="";
mc[i].color="";
}else{ma[om]=ma[i];
mx[om]=mx[i];
my[om]=my[i];
om++;
}}mal=om;
if(mal==0&&psrc)psrc.src=pname;
}function animate(){for(i=0;
i<mal;
i++){var el=document.getElementById(ma[i]);
if(el.style.visibility=="visible"){if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";
if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";
if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";
clipMenu(i,el);
}}if(mal!=0||frames!=0)setTimeout("animate()",50);
}function clipMenu(i,el){if(el.offsetLeft>mx[i])el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";
else el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";
}
Moi, j'abandonne.

C'est trop compliqué.
Tu ne peux l'utiliser tel quel.
Ce code écrit des éléments HTML (sous forme de tableau, en plus et avec un tas de tests) dans ta page.
Si tu veux les placer dans "un calque” (qu'est-ce que tu entends par là, une <div> ?), il me semble préférable que tu le fasses aussi dans le script.
Mais où ? Comment ?
xara ne peut pas le faire pour toi ?

--
0