window.onload=mfixSize;window.onresize=mfixSize;function mfixSize(){mouterDiv.style.top = mmenutable.offsetHeight;mouterDiv.style.height = document.body.clientHeight - mmenutable.offsetHeight;}============================================================
这句话中mouterDiv说是末定义,菜单显示不正常.原来用在ASP中很正常的,现在我改在JSP中使用,就不正常了,请问,怎么解决呢?

解决方案 »

  1.   

    先定义mouterDiv对象,如<Div id=mouterDiv></div>
      

  2.   

    javascript的东西跟服务器脚本有关吗?可能有关吗?你还是对比一下两个页面输出有什么不同吧。这不是JS的问题。
      

  3.   

    我发了好几次,都因为太长,没发成功.现在就只把有问题的代码发出来了.
    输出没什么不同的,只是显示的位置和层不对,在JSP中,菜单被别的控件给挡住了,而在ASP中不会被挡住,现在就是想知道为什么会这样.
      

  4.   

    如果定义mouterDiv的话,在哪里定义呢?怎么定义,DIV好像是层吧.下面是发生问题附近的代码
    document.onclick=mbody_click;
    function mwritetodocument(){
          var mwb=0;
                         var stringx='<div id="mposflag" style="position:absolute;" ></div><table  id=mmenutable border=0 cellpadding=3 cellspacing=2 width='+mmenuwidth+' height='+mmenuheight+
                         ' onselectstart="event.returnValue=false"'+
                         ' style="filter:Alpha(Opacity=80);cursor:'+mcursor+';'+mfonts+
                         '; 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+
                          ","+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<0){
                            stringx+='<div  align="center" 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+200);
                            if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                            stringx+=';border-left: 0px solid '+mmidoutcolor+
                            ';border-top: 0px solid '+mmidoutcolor;}
                            stringx+=';border-right: 0px solid '+mmenuinbordercolor+
                            ';border-bottom: 0px 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: 0px solid '+mmenuoutbordercolor;
                            if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                          stringx+=';border-right: 0px solid '+mmidincolor+
                          ';border-bottom: 0px solid '+mmidincolor;}
                          stringx+=';border-top: 0px 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.isline){
                          stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% height=15px onmouseover=\"mmenuitem_over("+x+","+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>";
                                    }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='center' >"+stringx+"</div>");
    }
    function mcheckLocation(){
    if(isNaN(mmenuwidth))mmenuwidth=document.body.clientWidth*parseInt(mmenuwidth.substring(0,3))/100;ym=eval(document.body.scrollTop)+0;xm=eval(document.body.scrollLeft)+0;y=mmenutable.style.pixelTop;x=mmenutable.style.pixelLeft;if(Math.abs(ym-y)>1)mmenutable.style.pixelTop=y+=(ym-y)/5;else mmenutable.style.pixelTop=y=ym;if(Math.abs(xm-x)>1)mmenutable.style.pixelLeft=x+=(xm-x)/5;else mmenutable.style.pixelLeft=x=xm;setTimeout("mcheckLocation()",10);}
    window.onload=mfixSize;window.onresize=mfixSize;function mfixSize(){mouterDiv.style.top = mmenutable.offsetHeight;mouterDiv.style.height = document.body.clientHeight - mmenutable.offsetHeight;}
    mpmenu1=new mMenu('用户管理','','self','','','','');
    mpmenu1.addItem(new mMenuItem('新增用户','./main/userm/adduser.jsp','DDAPMAIN',false,'增加一个新用户','','','',''));
    mpmenu1.addItem(new mMenuItem('过户','./main/periodic/contentin.asp','DDAPMAIN',false,'','','','',''));