html   代码如下,  引用菜单js:<script language=javascript src=menu.js></script>
<html>
<head>
<title>com</title>
<script language=javascript src=menu.js></script>
</head>
<body aLink="#cc0000" bgColor="#ffffff" leftMargin="0" link="#cc0000" text="#000000" topMargin="0" ><select name=obj class=p1>
<option value="http://nisearch.163.com/Search?q=">网站<option value="http://search.163.com/google/Search?q=">中文网页<option value="http://search.163.com/google/Search?lang=all&q=">所有网页<option value="http://nisearch.163.com/Search?in=news&q=">新闻<option value="http://stock2.163.com/stock/show_full.php?code=">股票<option value="http://bj74.netease.com/job/php/multi_jiansuo.php?page=1&keyword=">工作<option value="http://joke.163.com/search.php?keyword=">笑话<option value="http://topsoft.163.com/software/search.php?title=">软件</select>
</body>       
</html>js  代码有点长,我把我认为有关层的贴出来var mmenus    = new Array();
var misShow   = new Boolean(); 
misShow=false;
var misdown   = new Boolean();
misdown=false;
var mnumberofsub=0;
var musestatus=false;
var mpopTimer = 0;
mmenucolor='Menu';
mfontcolor='MenuText';
mmenuoutcolor='#B5BED6';
mmenuincolor='#B5BED6';
mmenuoutbordercolor='#000000';
mmenuinbordercolor='#000000';
mmidoutcolor='#8D8A85';
mmidincolor='#8D8A85';
mmenuovercolor='MenuText';
mitemedge='1';
msubedge='0';
mmenuunitwidth=100;
mmenuitemwidth=110;
mmenuheight=25;
mmenuwidth='100%';
mmenuadjust=0;
mmenuadjustV=0;
mfonts='font-family: 宋体; font-size: 9pt; color: MenuText; ';mcursor='default';
……………………
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);
                }
        for(nummenu=1;nummenu<=mnumberofsub;nummenu++){  
         var thesub=document.all['msubmenudiv'+nummenu]      
         msubmenuhide(thesub);
         mnochange(document.all['mp'+nummenu]);
         document.all["mitem"+nummenu].style.color=mfontcolor;
         }
}
function mmenuhide(menuid){menuid.style.visibility='hidden';
misShow=false;
}
function msubmenuhide(menuid){menuid.style.visibility='hidden';
}
function mmenushow(menuid,pid){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;
menuid.style.visibility='visible';
misShow=true;
}
function mshowsubmenu(menuid,pid,rid){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';
}
function mmenu_over(menuid,x){
toel = getReal(window.event.toElement, "className", "coolButton");
fromel = getReal(window.event.fromElement, "className", "coolButton");
if (toel == fromel) return;
if(x==5){
  misShow = false;
  mallhide();
  mtoout(eval("mMenu"+x));
}else{
if(!misShow){mtoout(eval("mMenu"+x));}else{
  mallhide();
  mtoin(eval("mMenu"+x));
  mmenushow(menuid,eval("mMenu"+x));
}
}
clearTimeout(mpopTimer);
}
function mmenu_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()
}
function mmenu_down(menuid,x){
  if(misShow){
  mmenuhide(menuid);
  mtoout(eval("mMenu"+x));
  }
  else{
  mtoin(eval("mMenu"+x));
  mmenushow(menuid,eval("mMenu"+x));
  misdown=true;
  }
}

解决方案 »

  1.   

    ………………(下面的最像有关系,我分为两段回复)
    function mwritetodocument(){
          var mwb=1;
                         var stringx='<div id="mposflag" style="position:absolute;"></div><table id=mmenutable border=0 cellpadding=3 cellspacing=2 width='+mmenuwidth+' height='+mmenuheight+' bgcolor='+mmenucolor+
                         ' onselectstart="event.returnValue=false"'+
                         ' style="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=" width="+thismenu.sizex+" height="+thismenu.sizey;
                          var ifspace="";
                          if(thismenu.caption!="")ifspace="&nbsp;";
                          stringx += "<td nowrap class=coolButton id=mMenu"+x+" style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width="+mmenuunitwidth+"px onmouseover=mmenu_over(mmenudiv"+x+
                          //"' onmouseover=mmenu_over(mmenudiv"+x+
                          ","+x+") onmouseout=mmenu_out("+x+
                          ") onmousedown=mmenu_down(mmenudiv"+x+","+x+")";
                                if(thismenu.command!=""){
                                    stringx += " onmouseup=mmenu_up();mexec2("+x+");";
                                }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+"'>&nbsp;"+thismenu.caption+"&nbsp;</td>";
                                }else{
                                    stringx += " align=center>&nbsp;"+thismenu.caption+"&nbsp;</td>";
                                }
                          stringx += "";
                         }
                         stringx+="<td width=*>&nbsp;</td></tr></table>";
                         
                         
                         for(var x=0;x<mmenus.length;x++){
                          thismenu=mmenus[x];
                            if(x==5){
                            stringx+='<div id=mmenudiv'+x+' style="visiable:none"></div>';
                            }else{
                            stringx+='<div id=mmenudiv'+x+
                            ' style="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=" width="+thismenuitem.sizex+" height="+thismenuitem.sizey;
                                  var ifspace="";
                                  if(thismenu.caption!="")ifspace="&nbsp;";
                          if(thismenuitem.hasc!=null){
                          stringx += "<tr><td id=mp"+thismenuitem.hasc+" class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% onmouseout=mmenuitem_out(true) onmouseover=\"mmenuitem_over(mmenudiv"+x+
                          ",'"+thismenuitem.hasc+"',"+x+",-1,"+i+");mshowsubmenu(msubmenudiv"+thismenuitem.hasc+",mp"+thismenuitem.hasc+",mmenudiv"+x+");\""+
                          "><table id=mitem"+thismenuitem.hasc+" cellspacing='0' cellpadding='0' border='0' width='100%' style='"+mfonts+"'><tr><td ";
                            if(thismenuitem.pos=="0"){
                                      stringx += "><img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+">"+ifspace+thismenuitem.caption+"</td><td";
                                    }else if(thismenuitem.pos=="1"){
                                      stringx += ">"+thismenuitem.caption+ifspace+"<img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+"></td><td";
                                    }else if(thismenuitem.pos=="2"){
                                      stringx += "background='"+thismenuitem.img+"'>"+thismenuitem.caption+"</td><td background='"+thismenuitem.img+"'";
                                    }else{
                                      stringx += ">"+thismenuitem.caption+"</td><td";
                                    }
                            stringx += " align=right width='1'><font face='Webdings' style='font-size: 6pt'>4</font></td></tr></table></td></tr>\n";                     
                          }else if(!thismenuitem.isline){
                          stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% height=15px onmouseover=\"mmenuitem_over(mmenudiv"+x+
                          ",false,"+x+",-1,"+i+");\" onmouseout=mmenuitem_out() onmousedown=mmenuitem_down() onmouseup=";
      stringx += "mmenuitem_up();mexec("+x+","+i+"); ";
        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>";
      

  2.   

    接上面
                                    }else{
                                      stringx += ">"+thismenuitem.caption+"</td></tr>";
                                    }
      }else{
                          stringx+='<tr><td height="1" background="hr.gif" onmousemove="clearTimeout(mpopTimer);"><img height="1" width="1" src="none.gif" border="0"></td></tr>\n';
                          }
                          }stringx+='</table>\n</div>'
                          }                     
                    }
                    
    for(var j=1;j<=mnumberofsub;j++){     
    thisitem=eval("msub"+j);
    stringx+='<div id=msubmenudiv'+j+
                            ' style="tag:'+thisitem.level+';cursor:'+mcursor+';position:absolute;'+
                            'width:'+mmenuitemwidth+'px; z-index:'+(j+200);
                            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<thisitem.items.length;i++){
                          var thismenuitem=thisitem.items[i];
                          var imgsize="";
                                  if(thismenuitem.sizex!="0"||thismenuitem.sizey!="0")imgsize=" width="+thismenuitem.sizex+" height="+thismenuitem.sizey;
                                  var ifspace="";
                                  if(thismenu.caption!="")ifspace="&nbsp;";
                          if(thismenuitem.hasc!=null){
                          stringx += "<tr><td id=mp"+thismenuitem.hasc+" class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% onmouseout=mmenuitem_out(true) onmouseover=\"mmenuitem_over(msubmenudiv"+j+
                          ",'"+thismenuitem.hasc+"',-1,"+j+","+i+");mshowsubmenu(msubmenudiv"+thismenuitem.hasc+",mp"+thismenuitem.hasc+",msubmenudiv"+j+");\""+
                          "><table id=mitem"+thismenuitem.hasc+" cellspacing='0' cellpadding='0' border='0' width='100%' style='"+mfonts+"'><tr><td ";
                            if(thismenuitem.pos=="0"){
                                      stringx += "><img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+">"+ifspace+thismenuitem.caption+"</td><td";
                                    }else if(thismenuitem.pos=="1"){
                                      stringx += ">"+thismenuitem.caption+ifspace+"<img align=absmiddle src='"+thismenuitem.img+"'"+imgsize+"></td><td";
                                    }else if(thismenuitem.pos=="2"){
                                      stringx += "background='"+thismenuitem.img+"'>"+thismenuitem.caption+"</td><td background='"+thismenuitem.img+"'";
                                    }else{
                                      stringx += ">"+thismenuitem.caption+"</td><td";
                                    }
                            stringx += " align=right width='1'><font face='Webdings' style='font-size: 6pt'>4</font></td></tr></table></td></tr>\n";                     
                          }else if(!thismenuitem.isline){
                          stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% height=15px onmouseover=\"mmenuitem_over(msubmenudiv"+j+
                          ",false,-1,"+j+","+i+");\" onmouseout=mmenuitem_out() onmousedown=mmenuitem_down() onmouseup=";
                          stringx += "mmenuitem_up();mexec3("+j+","+i+"); ";
      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" onmousemove="clearTimeout(mpopTimer);"><img height="1" width="1" src="none.gif" border="0"></td></tr>\n';
                          }
                          }
    stringx+='</table>\n</div>'
    }
           document.write("<div align='left'>"+stringx+"</div>");
    }
      

  3.   

    你这次贴的真的是很长,我看着就头晕。
    <div>中的position:absolute很可能是造成你这个问题的原因,因为它会使<div>浮动在其他的内容之上。如果可以的话就去掉它试试看了
      

  4.   

    还是不是很明白啊,能不能说得清楚一点???position:absolute在js里面有三个地方,到底该怎么该???我以前从没做过这类东西,所以只好让大家教我了
      

  5.   

    stringx+='<div id=mmenudiv'+x+'style="cursor:'+mcursor+';position:absolute;'+'width:'+mmenuitemwidth+'px; z-index:'+(x+100)改为:
    stringx+='<div id=mmenudiv'+x+'style="cursor:'+mcursor总之就是去掉"style="后所有的包含了“position:absolute”,“z-index”之类的的代码你别告诉我你不清楚这些代码该怎么改
    其他的自己找出来照样改就行了,代码太长了我懒的看。你是怎么生成的这些?应该不是你自己写的
      

  6.   

    [email protected]
    快点,我要下班了