萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 814|回复: 0

javascript编写的菜单类

[复制链接]
发表于 2004-10-29 15:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
<style>
.menuFont{font-size:12px;height:20px;}
</style>
<script language="javascript">

//========================================================================
//Menus类
//========================================================================

//显示菜单
function setVisible(){
eval(this.menuId+".style.visibility='visible';");
}
//隐藏菜单
function setHidden(){
eval(this.menuId+".style.visibility='hidden';");
}



//加菜单
function addMenu(menuHTML,menuEventname,eventValue){

  var tr,td;
  eval("tr="+this.menuId+".children[0].appendChild(document.createElement(\"tr\"));");
  td=tr.appendChild(document.createElement("td"));
  tr.className="menuFont";
  td.onmouseover=function(){this.style.backgroundColor='#0A246A';
                            this.style.color='#ffffff';
                            }
  td.onmouseout=function(){this.style.backgroundColor='#D4D0C8';
                            this.style.color='#000000';
                            }  
  td.innerHTML=menuHTML;
  eval("td."+menuEventname+"=function(){"+eventValue+";}");

}


//Menus对象名与“menuId”参数不能同名

function Menus(menuId,menuButton,menuWidth,menuX,menuY){

this.menuId=menuId;
this.menuWidth=menuWidth;
this.menuX=menuX;
this.menuY=menuY;
this.menuButton=menuButton;


document.write("<table   id="+this.menuId+"  style=' cursor: default; position:absolute; top:"+this.menuY+"px; left:"+this.menuX+"px;  width:"+this.menuWidth+"; visibility :hidden; background-color:#D4D0C8; border : 2px outset transparent;' ></table>");

with(this){
eval(this.menuId).onmouseout=function(){setHidden(); MenuButton.prototype.showMake=false;menuButton.resum();}
eval(this.menuId).onmouseover=function(){setVisible(); MenuButton.prototype.showMake=true;menuButton.setInset();}
}
}


Menus.prototype.setVisible=setVisible;
Menus.prototype.setHidden=setHidden;
Menus.prototype.addMenu=addMenu;
//================================================================================================






//=====================================================================================================
//MenuButton类
//======================================================================================================

function resum(){
eval(this.buttonId).children[0].children[0].children[0].style.border='';
//this.showMake=false;
}

function setInset(){
   eval(this.buttonId).children[0].children[0].children[0].style.border='2px inset transparent';
   MenuButton.prototype.showMake=true;
}

function setOutset(){
   eval(this.buttonId).children[0].children[0].children[0].style.border='2px outset transparent';
}

//MenuButton对象名与“buttonId”参数不能同名
function MenuButton(buttonName,buttonId,buttonX,buttonY,buttonEvent){
this.buttonName=buttonName;
this.buttonId=buttonId;
this.buttonX=buttonX;
this.buttonY=buttonY;
this.buttonEvent=buttonEvent;

document.write(" <table id="+this.buttonId+"   style=' width:70px; cursor: default; position:absolute; top:"+this.buttonY+"px; left:"+this.buttonX+"px;  visibility : visible; background-color:#D4D0C8;'>");
document.write("<tr ><td class=menuFont  >"+this.buttonName);
document.write("</td></tr></table>");

this.childrenMenus=new Menus(this.buttonId+"001",this,100,this.buttonX,this.buttonY+eval(this.buttonId).offsetHeight);


with(this){
eval(this.buttonId).onmouseover=function(){if(showMake){setInset();childrenMenus.setVisible();}else{setOutset();}}
eval(this.buttonId).onmouseout=function(){resum();childrenMenus.setHidden();}
eval(this.buttonId).onmousedown=function(){setInset(); childrenMenus.setVisible();}
}

}
MenuButton.prototype.resum=resum;
MenuButton.prototype.setInset=setInset;
MenuButton.prototype.setOutset=setOutset;
MenuButton.prototype.showMake=false;


//===============================================================================================================






var aa=new MenuButton("工具(T)","ab",100,100,"c.setVisible();");
var ff=new MenuButton("格式(o)","cf",100+eval(aa.buttonId).offsetWidth,100,"bb.setVisible();");


aa.childrenMenus.addMenu("显示","onclick","alert('a');");
aa.childrenMenus.addMenu("显示","onclick","alert('b');");
aa.childrenMenus.addMenu("显示","onclick","alert('c');");
aa.childrenMenus.addMenu("显示","onclick","");
aa.childrenMenus.addMenu("显示","onclick","");
aa.childrenMenus.addMenu("显示","onclick","");

ff.childrenMenus.addMenu("隐藏","onclick","alert('e');");
ff.childrenMenus.addMenu("隐藏","onclick","alert('f');");
ff.childrenMenus.addMenu("隐藏","onclick","alert('g');");
ff.childrenMenus.addMenu("隐藏","onclick","");
ff.childrenMenus.addMenu("隐藏","onclick","");
ff.childrenMenus.addMenu("隐藏","onclick","");
ff.childrenMenus.addMenu("隐藏","onclick","");
ff.childrenMenus.addMenu("隐藏","onclick","");
ff.childrenMenus.addMenu("隐藏","onclick","");

</script>


</head>
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-21 12:25 , Processed in 0.052185 second(s), 18 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表