javascript jQuery 菜单代码

<!DOCTYPE html>
<head></head>
<body>
<SCRIPT language=jscript>
var mmenus   
= new Array();
var misShow  
= new Boolean(); 
misShow=false; 
var misdown  
= new Boolean();
misdown=false;
var msrcel; 
var mfromel;  
var mtoel;  
var musestatus=false;
var mthestatus="";
var mpopTimer = 0; 
mmenucolor='#009AFF';mfontcolor='#FFFFFF';mmenuoutcolor='#009AFF';
mmenuincolor='#009AFF';mmenuoutbordercolor='#009AFF';mmenuinbordercolor='#009AFF';
mmidoutcolor='#0099FF';mmidincolor='#0099FF';mmenuovercolor='#FF0000';mitemedge='0';
msubedge='1';mmenuunitwidth=60;mmenuitemwidth=160;mmenuheight=22;mmenuwidth='500';
mmenuadjust=10;mmenuadjustV=0;mfonts='font-family: 宋体; font-size: 9pt; color: #FFFFFF; ';mcursor='default';
function stoperror(){
return true;

window.οnerrοr=stoperror;
function mpopOut() { 
mpopTimer = setTimeout('mallhide()', 500);

function getReal(el, type, value) {
 temp = el; 
 while ((temp != null) && (temp.tagName != "BODY")) {
  if (eval("temp." + type) == value) {
   el = temp;
   return el;
  } 
  temp = temp.parentElement;
 } 
 return el;
}
 
function mMenuRegister(menu) 

 
mmenus[mmenus.length] = menu
 
return (mmenus.length - 1)

function  mMenuItem(caption,command,target,isline,statustxt,img,sizex,sizey,pos){ 
 this.caption=caption; 
 this.command=command;
 this.target=target;
 this.isline=isline; 
 this.statustxt=statustxt;
 this.img=img;
 this.sizex=sizex;
 this.sizey=sizey;
 this.pos=pos;

function mMenu(caption,command,target,img,sizex,sizey,pos){
 this.items = new Array();
 this.caption=caption; 
 this.command=command;
 this.target=target;
 this.img=img;
 this.sizex=sizex;
 this.sizey=sizey;
 this.pos=pos; 
 this.id=mMenuRegister(this);

function mMenuAddItem(item)

 
this.items[this.items.length] = item
 
item.parent = this.id;
 
this.children=true;

mMenu.prototype.addItem = mMenuAddItem;
function mtoout(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;

function mtoin(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;

function mnochange(src){ 
src.style.borderLeftColor=mmenucolor;
src.style.borderRightColor=mmenucolor;
src.style.borderTopColor=mmenucolor;
src.style.borderBottomColor=mmenucolor;
src.style.backgroundColor='';
src.style.color=mfontcolor;

function mallhide(){ 
 for(var nummenu=0;nummenu<mmenus.length;nummenu++){
  var themenu=document.all['mMenu'+nummenu] 
  var themenudiv=document.all['mmenudiv'+nummenu]
               
mnochange(themenu);
               
mmenuhide(themenudiv);
               
}

function mmenuhide(menuid){ 
menuid.style.filter='Alpha(Opacity=100)';
menuid.style.visibility='hidden';
misShow=false;

function mmenushow(menuid,pid){ 
menuid.style.filter='Alpha(Opacity=80)'; 
menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;menuid.style.top=mposflag.offsetTop+mmenutable.offsetHeight+mmenuadjustV+1; 
if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth) 
menuid.style.left=document.body.clientWidth-mmenuitemwidth;
menuid.style.visibility='visible';
misShow=true;

function mmenu_over(menuid,x){ 
mtoel = getReal(window.event.toElement, "className", "coolButton");
mfromel
=
getReal(window.event.fromElement,
"className",
"coolButton"); 
if (mtoel == mfromel) return; 
msrcel = window.event.srcElement;
if(x<0){ 
 
misShow = false;
 
mallhide(); 
 
mtoout(msrcel);
}else{ 
 
mallhide();
 
mtoin(msrcel); 
 
mmenushow(menuid,eval("mMenu"+x));

clearTimeout(mpopTimer);

function mmenu_out(menuid){ 
mtoel = getReal(window.event.toElement, "className", "coolButton");
mfromel
=
getReal(window.event.fromElement,
"className",
"coolButton"); 
if (mtoel == mfromel) return;  
msrcel = window.event.srcElement;
if (misShow){
mtoin(msrcel);
}else{ 
mnochange(msrcel);

mpopOut()

function mmenu_down(menuid,x){
msrcel
=
getReal(window.event.srcElement,
"className",
"coolButton");
 
if(misShow){ 
 
mmenuhide(menuid);
 
mtoout(msrcel);
 

 
else{ 
 
mtoin(msrcel); 
 
mmenushow(menuid,eval("mMenu"+x));
 
misdown=true;
 
}

function mmenu_up(){
 
misdown=false;

function mmenuitem_over(menuid){ 
msrcel
=
getReal(window.event.srcElement,
"className",
"coolButton");
if(misdown){
 mtoin(msrcel);
}
else{ 
mtoout(msrcel);

if(mthestatus!=""){
 musestatus=true; 
 window.status=mthestatus;

clearTimeout(mpopTimer);

function mmenuitem_out(menuid){
msrcel
=
getReal(window.event.srcElement,
"className",
"coolButton"); 
mnochange(msrcel); 
if(musestatus)window.status="";
mpopOut()

function mmenuitem_down(menuid){
msrcel
=
getReal(window.event.srcElement,
"className",
"coolButton");
mtoin(msrcel)
misdown=true;

function mmenuitem_up(menuid){
msrcel
=
getReal(window.event.srcElement,
"className",
"coolButton");
mtoout(msrcel)
misdown=false;

function mexec2(x){
var cmd; 
if(mmenus[x].target=="blank"){ 
 
cmd = "window.open('"+mmenus[x].command+"')";
}else{ 
 
cmd = mmenus[x].target+".location='"+mmenus[x].command+"'";

eval(cmd);

function mexec(x,i){
var cmd;
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);

function mbody_click(){
if (misShow){
 msrcel = getReal(window.event.srcElement, "className", "coolButton"); 
 for(var x=0;x<=mmenus.length;x++){
  if(msrcel.id=="mMenu"+x)
  return;
 } 
 mallhide(); }
}
document.οnclick=mbody_click;
var mMenuBodyRef; 
function mwritetodocument(){
var mwb=1; 
for(var i in document.all){ 
if (document.all[i].tagName == 'BODY'){
mMenuBodyRef = document.all[i]
var stringx='<div id="mposflag" style="position:absolute;"></div><table  id=mmenutable border=0 cellpadding=0 cellspacing=2 width='+mmenuwidth+' height='+mmenuheight+' bgcolor='+mmenucolor+' onselectstart="event.returnValue=false"'+' style="filter:Alpha(Opacity=80);cursor:'+mcursor+';'+mfonts+' border-left: '+mwb+'px solid '+mmenuoutbordercolor+';'+' border-right: '+mwb+'px solid '+mmenuinbordercolor+'; '+'border-top: '+mwb+'px solid '+mmenuoutbordercolor+'; '+'border-bottom: '+mwb+'px solid '+mmenuinbordercolor+'; padding:0px"><tr>'
for(var x=0;x<mmenus.length;x++){
 var thismenu=mmenus[x];
 var imgsize; 
if(thismenu.sizex=="0"&&thismenu.sizey=="0"){
imgsize="";
}else{ imgsize=" width="+thismenu.sizex+" height="+thismenu.sizey; } 
 var ifspace; 
if(thismenu.caption==""){ ifspace="";
 }else{  ifspace=" "; }                      
 stringx += "<td class=coolButton id=mMenu"+x+" style='border: "+mitemedge+"px solid "+mmenucolor+ "' width="+mmenuunitwidth+"px οnmοuseοver=mmenu_over(mmenudiv"+x+   ","+x+") οnmοuseοut=mmenu_out(mmenudiv"+x+ ") οnmοusedοwn=mmenu_down(mmenudiv"+x+","+x+")";
if(thismenu.command!=""){
stringx += " οnmοuseup=mexec2("+x+");mmenu_up();";
}else{
stringx += " οnmοuseup=mmenu_up()";

if(thismenu.pos=="0"){
stringx += " align=center><img align=absmiddle src="+thismenu.img+imgsize+">"+ifspace+thismenu.caption+"</td>";  
}else if(thismenu.pos=="1"){
stringx += " align=center>"+thismenu.caption+ifspace+"<img align=absmiddle src="+thismenu.img+imgsize+"></td>";  
}else if(thismenu.pos=="2"){
stringx += " align=center background="+thismenu.img+">"+thismenu.caption+"</td>"; 
}else{
stringx += " align=center>"+thismenu.caption+"</td>";

 stringx += "";

                    
stringx+="<td width=*> </td></tr></table>";
for(var x=0;x<mmenus.length;x++){
 thismenu=mmenus[x];
if(x<0){
stringx+='<div id=mmenudiv'+x+' style="visiable:none"></div>';
}else{ 
stringx+='<div id=mmenudiv'+x+' style="filter:Alpha(Opacity=80);cursor:'+mcursor+';position:absolute;'+ 'width:'+mmenuitemwidth+'px; z-index:'+(x+100); 

if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){ 
stringx+=';border-left: 1px solid '+mmidoutcolor+
';border-top: 1px solid '+mmidoutcolor;}stringx+=';border-right: 1px solid '+mmenuinbordercolor+ ';border-bottom: 1px solid '+mmenuinbordercolor+';visibility:hidden"  onselectstart="event.returnValue=false">\n'+   '<table  width="100%" border="0" height="100%" align="center" cellpadding="0" cellspacing="2" '+  'style="'+mfonts+' border-left: 1px solid '+mmenuoutbordercolor; 
if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){ 
 stringx+=';border-right: 1px solid '+mmidincolor+';border-bottom: 1px solid '+mmidincolor;}  stringx+=';border-top: 1px solid '+mmenuoutbordercolor+';padding: 4px" bgcolor='+mmenucolor+'>\n'
 for(var i=0;i<thismenu.items.length;i++){
  var thismenuitem=thismenu.items[i];
  var imgsize; 
if(thismenuitem.sizex=="0"&&thismenuitem.sizey=="0"){ 
imgsize=""
}else{ 
imgsize=" width="+thismenuitem.sizex+" height="+thismenuitem.sizey

var ifspace; 
if(thismenu.caption==""){
ifspace="";
}else{ 
ifspace=" ";

if(!thismenuitem.isline){ 
  stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+ "' width=100% height=15px οnmοuseοver=\"mthestatus='"+thismenuitem.statustxt+"';mmenuitem_over(mmenudiv"+x+");\" οnmοuseοut=mmenuitem_out(mmenudiv"+x+") οnmοusedοwn=mmenuitem_down(mmenudiv"+x+") οnmοuseup=";stringx += "mexec("+x+","+i+");mmenuitem_up(mmenudiv"+x+") "; 
 if(thismenuitem.pos=="0"){
 stringx += "><img align=absmiddle src="+thismenuitem.img+imgsize+">"+ifspace+thismenuitem.caption+"</td></tr>";  
 }else if(thismenuitem.pos=="1"){
 stringx += ">"+thismenuitem.caption+ifspace+"<img align=absmiddle src="+thismenuitem.img+imgsize+"></td></tr>"; 
 }else if(thismenuitem.pos=="2"){
 stringx += "background="+thismenuitem.img+">"+thismenuitem.caption+"</td></tr>";  
 }else{
 stringx += ">"+thismenuitem.caption+"</td></tr>";
 }
}else{
  stringx+='<tr><td height="1" background="hr.gif"><img border="0" src="none.gif" width="1" height="1"></td></tr>\n';

}stringx+='</table>\n</div>'
}
}
document.write("<div align='left'>"+stringx+"</div>");
break
}
}
}
 
function document_load(){
 mwritetodocument();  
}
mpmenu1=new mMenu('文件','','self','','','',''); 
mpmenu1.addItem(new mMenuItem('新建','javascript:alert("新建")','self',false,'新建','','','','')); 
mpmenu1.addItem(new mMenuItem('打开','javascript:alert("打开")','self',false,'打开','','','','')); 
mpmenu1.addItem(new mMenuItem('保存','javascript:alert("保存")','self',false,'保存','','','','')); 
mpmenu1.addItem(new mMenuItem(null,null,null,true)); 
mpmenu1.addItem(new mMenuItem('退出','javascript:alert("退出")','self',false,'退出','','','','')); 
mpmenu2=new mMenu('编辑','','self','','','',''); 
mpmenu2.addItem(new mMenuItem('撤销','javascript:alert("撤销")','self',false,'撤销','','','','')); 
mpmenu2.addItem(new mMenuItem('重做','javascript:alert("重做")','self',false,'重做','','','','')); 
mpmenu2.addItem(new mMenuItem(null,null,null,true)); 
mpmenu2.addItem(new mMenuItem('拷贝','javascript:alert("拷贝")','self',false,'拷贝','','','','')); 
mpmenu2.addItem(new mMenuItem('粘贴','javascript:alert("粘贴")','self',false,'粘贴','','','','')); 
mpmenu3=new mMenu('收藏','','self','','','','');
mpmenu3.addItem(new mMenuItem('我的主页','http://www.xxx.com','blank',false,'访问我的主页','','','',''));
mpmenu3.addItem(new  mMenuItem('Yahoo','http://www.yahoo.com','blank',false,'访问Yahoo','','','','')); 
mpmenu4=new mMenu('帮助','','self','','','',''); 
mpmenu4.addItem(new mMenuItem('内容','javascript:alert("内容")','self',false,'内容','','','',''));
mpmenu4.addItem(new mMenuItem('给我写email','mailto:xxxxxxxx','self',false,'给我写email','','','','')); 
mpmenu4.addItem(new mMenuItem(null,null,null,true)); 
mpmenu4.addItem(new mMenuItem('关于','javascript:alert("关于")','self',false,'关于这个软件','','','',''));
</SCRIPT>
<SCRIPT>document_load()</SCRIPT>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值