各种菜单代码.docx
《各种菜单代码.docx》由会员分享,可在线阅读,更多相关《各种菜单代码.docx(68页珍藏版)》请在冰豆网上搜索。
各种菜单代码
下拉透明菜单
把如下代码加入
区域中
varmmenus=newArray();
varmisShow=newBoolean();
misShow=false;
varmisdown=newBoolean();
misdown=false;
varmnumberofsub=0;
varmusestatus=false;
varmpopTimer=0;
mmenucolor='#89CB10';mfontcolor='MenuText';mmenuoutcolor='#ADEF34';mmenuincolor='#B5E74E';mmenuoutbordercolor='#ECFA3A';mmenuinbordercolor='#5A2614';mmidoutcolor='#A9DA1D';mmidincolor='#799310';mmenuovercolor='#004080';mitemedge='0';msubedge='1';mmenuunitwidth=66;mmenuitemwidth=140;mmenuheight=25;mmenuwidth='100%';mmenuadjust=0;mmenuadjustV=0;mfonts='font-family:
宋体;font-size:
9pt;color:
MenuText;';mcursor='hand';
varswipeSteps=4;
varswipemsec=25;
varswipeArray=newArray();
functionswipe(el,dir,steps,msec){
if(steps==null)steps=swipeSteps;
if(msec==null)msec=swipemsec;
if(el.swipeIndex==null)
el.swipeIndex=swipeArray.length;
if(el.swipeTimer!
=null)
window.clearTimeout(el.swipeTimer);
swipeArray[el.swipeIndex]=el;
el.style.clip="rect(-99999,99999,99999,-99999)";
if(el.swipeCounter==null||el.swipeCounter==0){
el.orgLeft=el.offsetLeft;
el.orgTop=el.offsetTop;
el.orgWidth=el.offsetWidth;
el.orgHeight=el.offsetHeight;
}
el.swipeCounter=steps;
el.style.clip="rect(0,0,0,0)";
window.setTimeout("repeat("+dir+","+el.swipeIndex+","+steps+","+msec+")",msec);
}
functionrepeat(dir,index,steps,msec){
el=swipeArray[index];
varleft=el.orgLeft;
vartop=el.orgTop;
varwidth=el.orgWidth;
varheight=el.orgHeight;
if(el.swipeCounter==0){
el.style.clip="rect(-99999,99999,99999,-99999)";
return;
}
else{
el.swipeCounter--;
el.style.visibility="visible";
switch(dir){
case2:
el.style.clip="rect("+height*el.swipeCounter/steps+","+width+","+height+","+0+")";
el.style.top=top-height*el.swipeCounter/steps;
break;
case8:
el.style.clip="rect("+0+","+width+","+height*(steps-el.swipeCounter)/steps+","+0+")";
el.style.top=top+height*el.swipeCounter/steps;
break;
case6:
el.style.clip="rect("+0+","+width+","+height+","+width*(el.swipeCounter)/steps+")";
el.style.left=left-width*el.swipeCounter/steps;
break;
case4:
el.style.clip="rect("+0+","+width*(swipeSteps-el.swipeCounter)/steps+","+height+","+0+")";
el.style.left=left+width*el.swipeCounter/steps;
break;
}
el.swipeTimer=window.setTimeout("repeat("+dir+","+index+","+steps+","+msec+")",msec);
}
}
varmtmpleft="";
varmtmptop="";
functionhideSwipe(el){
window.clearTimeout(el.swipeTimer);
el.style.visibility="hidden";
el.style.clip="rect(-99999,99999,99999,-99999)";
el.swipeCounter=0;
if(mtmpleft!
="")el.style.left=mtmpleft;
if(mtmptop!
="")el.style.top=mtmptop;
}
functionstoperror(){
returntrue;
}
window.onerror=stoperror;
functionmpopOut(){
mpopTimer=setTimeout('mallhide()',500);
}
functiongetReal(el,type,value){
temp=el;
while((temp!
=null)&&(temp.tagName!
="BODY")){
if(eval("temp."+type)==value){
el=temp;
returnel;
}
temp=temp.parentElement;
}
returnel;
}
functionmMenuRegister(menu)
{
mmenus[mmenus.length]=menu
return(mmenus.length-1)
}
functionmMenuItem(caption,command,target,isline,statustxt,level,img,sizex,sizey,pos){
this.items=newArray();
this.caption=caption;
mand=command;
this.target=target;
this.isline=isline;
this.statustxt=statustxt;
if(level!
=null){mnumberofsub++;
this.hasc=mnumberofsub;}
this.level=level;
this.img=img;
this.sizex=sizex;
this.sizey=sizey;
this.pos=pos;
}
functionmMenu(caption,command,target,img,sizex,sizey,pos){
this.items=newArray();
this.caption=caption;
mand=command;
this.target=target;
this.img=img;
this.sizex=sizex;
this.sizey=sizey;
this.pos=pos;
this.id=mMenuRegister(this);
}
functionmMenuAddItem(item)
{
this.items[this.items.length]=item
item.parent=this.id;
this.children=true;
}
mMenu.prototype.addItem=mMenuAddItem;
mMenuItem.prototype.addsubItem=mMenuAddItem;
functionmtoout(src){
src.style.borderLeftColor=mmenuoutbordercolor;
src.style.borderRightColor=mmenuinbordercolor;
src.style.borderTopColor=mmenuoutbordercolor;
src.style.borderBottomColor=mmenuinbordercolor;
src.style.backgroundColor=mmenuoutcolor;
src.style.color=mmenuovercolor;
}
functionmtoin(src){
src.style.borderLeftColor=mmenuinbordercolor;
src.style.borderRightColor=mmenuoutbordercolor;
src.style.borderTopColor=mmenuinbordercolor;
src.style.borderBottomColor=mmenuoutbordercolor;
src.style.backgroundColor=mmenuincolor;
src.style.color=mmenuovercolor;
}
functionmnochange(src){
src.style.borderLeftColor=mmenucolor;
src.style.borderRightColor=mmenucolor;
src.style.borderTopColor=mmenucolor;
src.style.borderBottomColor=mmenucolor;
src.style.backgroundColor='';
src.style.color=mfontcolor;
}
functionmallhide(){
for(varnummenu=0;nummenuvarthemenu=document.all['mMenu'+nummenu]
varthemenudiv=document.all['mmenudiv'+nummenu]
mnochange(themenu);
mmenuhide(themenudiv);
}
for(nummenu=1;nummenu<=mnumberofsub;nummenu++){
varthesub=document.all['msubmenudiv'+nummenu]
msubmenuhide(thesub);
mnochange(document.all['mp'+nummenu]);
document.all["mitem"+nummenu].style.color=mfontcolor;
}
}
functionmmenuhide(menuid){
menuid.style.filter='Alpha(Opacity=100)';
hideSwipe(menuid);
misShow=false;
}
functionmsubmenuhide(menuid){
menuid.style.filter='Alpha(Opacity=100)';
menuid.style.visibility='hidden';
}
functionmmenushow(menuid,pid){
menuid.style.filter='Alpha(Opacity=80)';
menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;menuid.style.top=mposflag.offsetTop+mmenutable.offsetHeight+mmenuadjustV;
if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth+document.body.scrollLeft)
menuid.style.left=document.body.clientWidth+document.body.scrollLeft-mmenuitemwidth;
mtmpleft=menuid.style.left;mtmptop=menuid.style.top;swipe(menuid,2,4);
misShow=true;
}
functionmshowsubmenu(menuid,pid,rid){
menuid.style.filter='Alpha(Opacity=80)';
menuid.style.left=pid.offsetWidth+rid.offsetLeft;
menuid.style.top=pid.offsetTop+rid.offsetTop-3;
if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth+document.body.scrollLeft)
menuid.style.left=document.body.clientWidth+document.body.scrollLeft-mmenuitemwidth;
menuid.style.visibility='visible';
}
functionmmenu_over(menuid,x){
toel=getReal(window.event.toElement,"className","coolButton");
fromel=getReal(window.event.fromElement,"className","coolButton");
if(toel==fromel)return;
if(x<0){
misShow=false;
mallhide();
mtoout(eval("mMenu"+x));
}else{
mallhide();
mtoin(eval("mMenu"+x));
mmenushow(menuid,eval("mMenu"+x));
}
clearTimeout(mpopTimer);
}
functionmmenu_out(x){
toel=getReal(window.event.toElement,"className","coolButton");
fromel=getReal(window.event.fromElement,"className","coolButton");
if(toel==fromel)return;
if(misShow){
mtoin(eval("mMenu"+x));
}else{
mnochange(eval("mMenu"+x));
}
mpopOut()
}
functionmmenu_down(menuid,x){
if(misShow){
mmenuhide(menuid);
mtoout(eval("mMenu"+x));
}
else{
mtoin(eval("mMenu"+x));
mmenushow(menuid,eval("mMenu"+x));
misdown=true;
}
}
functionmmenu_up(){
misdown=false;
}
functionmmenuitem_over(menuid,item,x,j,i){
toel=getReal(window.event.toElement,"className","coolButton");
fromel=getReal(window.event.fromElement,"className","coolButton");
if(toel==fromel)return;
srcel=getReal(window.event.srcElement,"className","coolButton");
for(nummenu=1;nummenu<=mnumberofsub;nummenu++){
varthesub=document.all['msubmenudiv'+nummenu]
if(!
(menuid==thesub||menuid.style.tag>=thesub.style.tag)){
msubmenuhide(thesub);
mnochange(document.all['mp'+nummenu]);
document.all["mitem"+nummenu].style.color=mfontcolor;
}
}
if(item)document.all["mitem"+item].style.color=mmenuovercolor;
if(misdown||item){
mtoin(srcel);
}
else{
mtoout(srcel);
}
if(x==-1)mthestatus=eval("msub"+j).items[i].statustxt;
if(j==-1)mthestatus=mmenus[x].items[i].statustxt;
if(mthestatus!
=""){
musestatus=true;
window.status=mthestatus;
}
clearTimeout(mpopTimer);
}
functionmmenuitem_out(hassub){
toel=getReal(window.event.toElement,"className","coolButton");
fromel=getReal(window.event.fromElement,"className","coolButton");
if(toel==fromel)return;
srcel=getReal(window.event.srcElement,"className","coolButton");
if(!
hassub)mnochange(srcel);
if(musestatus)window.status="";
mpopOut()
}
functionmmenuitem_down(){
srcel=getReal(window.event.srcElement,"className","coolButton");
mtoin(srcel)
misdown=true;
}
functionmmenuitem_up(){
srcel=getReal(window.event.srcElement,"className","coolButton");
mtoout(srcel)
misdown=false;
}
functionmexec3(j,i){
varcmd;
if(eval("msub"+j).items[i].target=="blank"){
cmd="window.open('"+eval("msub"+j).items[i].command+"')";
}else{
cmd=eval("msub"+j).items[i].target+".location=\""+eval("msub"+j).items[i].command+"\"";
}
eval(cmd);
}
functionmexec2(x){
varcmd;
if(mmenus[x].target=="blank"){
cmd="window.open('"+mmenus[x].command+"')";
}else{
cmd=mmenus[x].target+".location=\""+mmenus[x].command+"\"";
}
eval(cmd);
}
functionmexec(x,i){
varcmd;
if(mmenus[x].items[i].target=="blank"){
cmd="window.open('"+mmenus[x].items[i].command+"')";
}else{
cmd=mmenus[x].items[i].target+".location=\""+mmenus[x].items[i].command+"\"";
}
eval(cmd);
}
functionmbody_click(){
if(misShow){
srcel=getReal(window.event.srcElement,"className","coolButton");
for(varx=0;x<=mmenus.length