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='ButtonFace';mfontcolor='#000000';mmenuoutcolor='#DDDDFF';mmenuincolor='#DDDDFF';mmenuoutbordercolor='#000000';mmenuinbordercolor='#000000';mmidoutcolor='#9D9B90';mmidincolor='#9D9B90';mmenuovercolor='#000000';mitemedge='0';msubedge='0';mmenuunitwidth=84;mmenuitemwidth=160;mmenuheight=30;mmenuwidth='100%';mmenuadjust=5;mmenuadjustV=5;mfonts='font-family: 宋体; font-size: 9pt; color: #000000; ';mcursor='default';
var fadeSteps = 5;
var fademsec = 20;
var fadeArray = new Array();
function fade(el, fadeIn, steps, msec) {
if (steps == null) steps = fadeSteps;
if (msec == null) msec = fademsec;
if (el.fadeIndex == null)
el.fadeIndex = fadeArray.length;
fadeArray[el.fadeIndex] = el;
if (el.fadeStepNumber == null) {
if (el.style.visibility == "hidden")
el.fadeStepNumber = 0;
else
el.fadeStepNumber = steps;
if (fadeIn)
el.style.filter = "Alpha(Opacity=0)";
else
el.style.filter = "Alpha(Opacity=90)";
}
window.setTimeout("repeatFade(" + fadeIn + "," + el.fadeIndex + "," + steps + "," + msec + ")", msec);
}
function repeatFade(fadeIn, index, steps, msec) {
el = fadeArray[index];

c = el.fadeStepNumber;
if (el.fadeTimer != null)
window.clearTimeout(el.fadeTimer);
if ((c == 0) && (!fadeIn)) {
el.style.visibility = "hidden";
return;
}
else if ((c==steps) && (fadeIn)) {
el.style.filter = "Alpha(Opacity=90);";
el.style.visibility = "visible";
return;
}
else {
(fadeIn) ?  c++ : c--;
el.style.visibility = "visible";
el.style.filter = "Alpha(Opacity=" + 90*c/steps + ")";
el.fadeStepNumber = c;
el.fadeTimer = window.setTimeout("repeatFade(" + fadeIn + "," + index + "," + steps + "," + msec + ")", msec);
}
}
function stoperror(){
return true;
}
window.onerror=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.border='solid 1';
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.border='solid 1';
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;
src.style.border='solid 0';
}
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){
fade(menuid,false,2);
misShow=false;
}
function mmenushow(menuid,pid){
menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;menuid.style.top=mmenutable.offsetTop+mmenutable.offsetHeight+mmenuadjustV;
fade(menuid,true,2);
if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth)
menuid.style.left=document.body.clientWidth-mmenuitemwidth;
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);
}

解决方案 »

  1.   

    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.onclick=mbody_click;
    var mMenuBodyRef;
    function mwritetodocument(){
          var mwb=0;
          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=90);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="&nbsp;";
                                }
                          stringx += "<td class=coolButton id=mMenu"+x+" style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width="+mmenuunitwidth+"px onmouseover=mmenu_over(mmenudiv"+x+
                          ","+x+") onmouseout=mmenu_out(mmenudiv"+x+
                          ") onmousedown=mmenu_down(mmenudiv"+x+","+x+")";
                                if(thismenu.command!=""){
                                    stringx += " onmouseup=mexec2("+x+");mmenu_up();";
                                }else{
                                   stringx += " onmouseup=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=*>&nbsp;</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=90);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 background="bg_left.gif" 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="&nbsp;";
                                    }
                          if(!thismenuitem.isline){
                          stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% height=15px onmouseover=\"mthestatus='"+thismenuitem.statustxt+"';mmenuitem_over(mmenudiv"+x+
                          ");\" onmouseout=mmenuitem_out(mmenudiv"+x+
                          ") onmousedown=mmenuitem_down(mmenudiv"+x+") onmouseup=";
      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
        }
      }
    }
      

  2.   

    window.onload=mfixSize;window.onresize=mfixSize;function mfixSize(){mouterDiv.style.top = mmenutable.offsetHeight;mouterDiv.style.height = document.body.clientHeight - mmenutable.offsetHeight;}
    function document_load(){
    mwritetodocument();document.write('<BODY style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px;" scroll=no>');document.write('<DIV id=mouterDiv style="BORDER-RIGHT: white 2px inset; BORDER-TOP: white 2px inset; Z-INDEX: -1; OVERFLOW: auto; BORDER-LEFT: white 2px inset; WIDTH: 100%; BORDER-BOTTOM: white 2px inset; POSITION: absolute; HEIGHT: 90%;PADDING-RIGHT: 5pt; PADDING-LEFT: 5pt; LEFT: 0pt; PADDING-BOTTOM: 5pt; MARGIN: 0pt; PADDING-TOP: 5pt">');mfixSize();
    }mpmenu1=new mMenu('主页面','redirect.asp?wahfeng_url=0100','blank','home.jpg','0','0','0');
    mpmenu1.addItem(new mMenuItem('政策速递','redirect.asp?wahfeng_url=0101','blank',false,'政策速递','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('工作动态','redirect.asp?wahfeng_url=0102','blank',false,'工作动态','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('综合信息','redirect.asp?wahfeng_url=0103','blank',false,'综合信息','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('图片新闻','redirect.asp?wahfeng_url=01_gwd_003','blank',false,'图片新闻','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('企业事之窗','redirect.asp?wahfeng_url=01_gwd_001','blank',false,'企业事之窗','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('产品成本调查','redirect.asp?wahfeng_url=0106','blank',false,'产品成本调查','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('教育收费','redirect.asp?wahfeng_url=0107','blank',false,'教育收费','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('POP弹出窗口','redirect.asp?wahfeng_url=0108','blank',false,'POP弹出窗口','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('收费查询','redirect.asp?wahfeng_url=0109','blank',false,'收费查询','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('12358价格举报','redirect.asp?wahfeng_url=0110','blank',false,'12358价格举报','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('银行利率','redirect.asp?wahfeng_url=0111','blank',false,'银行利率','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('产品成本调查','redirect.asp?wahfeng_url=0112','blank',false,'产品成本调查','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('友情链接Link','redirect.asp?wahfeng_url=0113','blank',false,'友情链接Link','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('价格协会','redirect.asp?wahfeng_url=014','blank',false,'价格协会','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('价格信息网站','redirect.asp?wahfeng_url=0115','blank',false,'价格信息网站','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem(null,null,null,true));
    mpmenu1.addItem(new mMenuItem(null,null,null,true));
    mpmenu1.addItem(new mMenuItem('·盐城市涉农收费','redirect.asp?wahfeng_url=0121','blank',false,'·盐城市涉农收费','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('·盐都县涉农收费','redirect.asp?wahfeng_url=0122','blank',false,'·盐都县涉农收费','blank.gif','0','0','0'));
    mpmenu1.addItem(new mMenuItem('·盐城市减免工业..','redirect.asp?wahfeng_url=0123','blank',false,'·盐城市减免工业..','blank.gif','0','0','0'));
    mpmenu2=new mMenu('价格法规','redirect.asp?wahfeng_url=0200','blank','price_policy.jpg','0','0','0');
    mpmenu2.addItem(new mMenuItem('价格法律','redirect.asp?wahfeng_url=0201','blank',false,'价格法律','blank.gif','0','0','0'));
    mpmenu2.addItem(new mMenuItem('行政法规','redirect.asp?wahfeng_url=0202','blank',false,'行政法规','blank.gif','0','0','0'));
    mpmenu2.addItem(new mMenuItem('部委规章','redirect.asp?wahfeng_url=0203','blank',false,'部委规章','blank.gif','0','0','0'));
    mpmenu2.addItem(new mMenuItem('地方法规','redirect.asp?wahfeng_url=0204','blank',false,'地方法规','blank.gif','0','0','0'));
    mpmenu2.addItem(new mMenuItem('地方规章','redirect.asp?wahfeng_url=0205','blank',false,'地方规章','blank.gif','0','0','0'));
    mpmenu2.addItem(new mMenuItem('行政措施','redirect.asp?wahfeng_url=0206','blank',false,'行政措施','blank.gif','0','0','0'));
    mpmenu3=new mMenu('政策文件','redirect.asp?wahfeng_url=0300','blank','policy_file.jpg','0','0','0');
    mpmenu3.addItem(new mMenuItem('商品价格类','redirect.asp?wahfeng_url=0301','blank',false,'商品价格类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('服务价格类','redirect.asp?wahfeng_url=0302','blank',false,'服务价格类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('收费管理类','redirect.asp?wahfeng_url=0303','blank',false,'收费管理类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('价格监测类','redirect.asp?wahfeng_url=0304','blank',false,'价格监测类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('价格检查类','redirect.asp?wahfeng_url=0305','blank',false,'价格检查类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('价格认证类','redirect.asp?wahfeng_url=0306','blank',false,'价格认证类','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem(null,null,null,true));
    mpmenu3.addItem(new mMenuItem('规范性文件','redirect.asp?wahfeng_url=0307','blank',false,'规范性文件','blank.gif','0','0','0'));
    mpmenu3.addItem(new mMenuItem('价格目录类','redirect.asp?wahfeng_url=0308','blank',false,'价格目录类','blank.gif','0','0','0'));
    mpmenu4=new mMenu('政务公开','redirect.asp?wahfeng_url=0400','blank','policy_show.jpg','0','0','0');