CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

菜单的怪问题:底下部分有个变量chrlpy,如果该变量的值为数值就正常,为字符就出错,但是如果不用变量,直接用字符常量也正常!为什么?

楼主lipingyuan22()2005-06-02 09:48:09 在 Web 开发 / ASP 提问

<script   language="javascript">  
  var   mmenus         =   new   Array();  
  var   misShow       =   new   Boolean();    
  misShow=false;  
  var   misdown       =   new   Boolean();  
  misdown=false;  
  var   musestatus=false;  
  var   mpopTimer   =   0;  
  mmenucolor='#FFFFFF';mfontcolor='#333333';mmenuoutcolor='#f0f0f0';mmenuincolor='#f0f0f0';mmenuoutbordercolor='#000000';mmenuinbordercolor='#333333';mmidoutcolor='#f0f0f0';mmidincolor='#020000';mmenuovercolor='#333333';mitemedge='0';msubedge='1';mmenuunitwidth=140;mmenuitemwidth=160;mmenuheight='';mmenuwidth='100';mmenuadjust=40;mmenuadjustV=0;mfonts='font-family:   宋体;   font-size:   9pt;   color:   #333333;   ';mcursor='default';var   fadeSteps   =   5;  
   
  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){  
   
  menuid.style.visibility='hidden';  
  misShow=false;  
  }  
  function   mmenushow(menuid,pid){  
   
  menuid.style.left=mposflag.offsetLeft+mmenuadjust+parseInt(mmenuwidth)+1;menuid.style.top=mposflag.offsetTop+pid.offsetTop+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   mmenu_over(menuid,x){  
  toel   =   getReal(window.event.toElement,   "className",   "coolButton");  
  fromel   =   getReal(window.event.fromElement,   "className",   "coolButton");  
  if   (toel   ==   fromel)   return;  
  if(x<0){  
      misShow   =   false;  
      mallhide();  
      mtoout(eval("mMenu"+x));  
  }else{  
   
      mallhide();  
      mtoin(eval("mMenu"+x));  
      mmenushow(menuid,eval("mMenu"+x));  
   
  }  
  clearTimeout(mpopTimer);  
  }  
  问题点数:100、回复次数:7Top

1 楼lipingyuan22()回复于 2005-06-02 09:49:17 得分 0

代码接上:  
   
   
  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;  
      }  
  }  
  function   mmenu_up(){  
      misdown=false;  
  }  
  function   mmenuitem_over(x,i){  
  srcel   =   getReal(window.event.srcElement,   "className",   "coolButton");  
  if(misdown){  
  mtoin(srcel);  
  }  
  else{  
  mtoout(srcel);  
  }  
  mthestatus   =   mmenus[x].items[i].statustxt;  
  if(mthestatus!=""){  
  musestatus=true;  
  window.status=mthestatus;  
  }  
  clearTimeout(mpopTimer);  
  }  
  function   mmenuitem_out(){  
  srcel   =   getReal(window.event.srcElement,   "className",   "coolButton");  
  mnochange(srcel);  
  if(musestatus)window.status="";  
  mpopOut()  
  }  
  function   mmenuitem_down(){  
  srcel   =   getReal(window.event.srcElement,   "className",   "coolButton");  
  mtoin(srcel)  
  misdown=true;  
  }  
  function   mmenuitem_up(){  
  srcel   =   getReal(window.event.srcElement,   "className",   "coolButton");  
  mtoout(srcel)  
  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){  
  srcel   =   getReal(window.event.srcElement,   "className",   "coolButton");  
  for(var   x=0;x<=mmenus.length;x++){  
  if(srcel.id=="mMenu"+x)  
  return;  
  }  
  mallhide();  
  }  
  }  
  document.onclick=mbody_click;  
  Top

2 楼lipingyuan22()回复于 2005-06-02 09:49:36 得分 0

代码再接上:  
   
  function   mwritetodocument(){  
              var   mwb=1;  
                                            var   stringx='<div   id="mposflag"   style="position:absolute;"></div><table   background="1.jpg"   id=mmenutable   border=0   cellpadding=3   cellspacing=2   width='+mmenuwidth+'   height='+mmenuheight+'   bgcolor='+mmenucolor+  
                                            '   onselectstart="event.returnValue=false"'+  
                                            '   style="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+"   width="+mmenuunitwidth+"px   height=24px   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=left><img   align=absmiddle   src='"+thismenu.img+"'"+imgsize+">"+"<font   color='#333333'>"+ifspace+thismenu.caption+"</font></td>";  
                                                        }else   if(thismenu.pos=="1"){  
                                                                stringx   +=   "   align=left>"+thismenu.caption+ifspace+"<img   align=absmiddle   src='"+thismenu.img+"'"+imgsize+"></td>";  
                                                        }else   if(thismenu.pos=="2"){  
                                                                stringx   +=   "   align=left   background='"+thismenu.img+"'>&nbsp;"+"<font   color='#333333'>"+thismenu.caption+"&nbsp;</font></td>";  
                                                        }else{  
                                                                stringx   +=   "   align=left>&nbsp;"+thismenu.caption+"&nbsp;</td>";  
                                                        }  
                                            stringx   +=   "</tr><tr>";  
                                            }  
                                            stringx+="</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="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="2.jpg"   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.isline){  
                                            stringx   +=   "<tr><td   class=coolButton   style='border:   "+mitemedge+"px   solid   "+mmenucolor+  
                                            "'   width=100%   height=24px   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+">"+"<font   color=#333333>"+ifspace+thismenuitem.caption+"</font></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+"'>"+"<font   color=#333333>"+thismenuitem.caption+"</font></td></tr>";  
                                                                }else{  
                                                                    stringx   +=   ">"+"<font   color=#000000>"+thismenuitem.caption+"</font></td></tr>";  
                                                                }  
    }else{  
                                            stringx+='<tr><td   height="0"   background="2.jpg"   onmousemove="clearTimeout(mpopTimer);"><img   height="1"   width="1"   src="2.jpg"   border="0"></td></tr>\n';  
                                            }  
                                            }stringx+='</table>\n</div>'  
                                            }  
                                             
                                  }  
                                   
                                            document.write("<div   align='left'>"+stringx+"</div>");  
  }  
   
   
  mpmenu1=new   mMenu('·'+"ASP",'','self','','','','');  
   
  <%  
   
           
          chrlpy="455"  
   
     
  %>  
   
  mpmenu1.addItem(new   mMenuItem(<%response.write(chrlpy)%>,'pplist.asp?sort1=10&sort2=40','self',false,'','','','',''));  
   
   
   
  mwritetodocument();  
  mpopOut();  
  </script>Top

3 楼lipingyuan22()回复于 2005-06-02 09:53:41 得分 0

以上代码顺序连接保存ASP文件可以调试的,如果变量chrlpy为数值就正常显示,为字符或者汉字就不能正常显示(网上有错误),但是我不用变量,直接在变量处用字符或者汉字又可以正常显示哦,怎么这么怪呢?我要求用变量的时候也可以显示,请高手们解决,通过后我给100分!Top

4 楼dengboyu(小雨)回复于 2005-06-02 10:08:41 得分 0

变量调用的标志符号不正确了。看是双引号还是单引号   或需要&&来说明的Top

5 楼lipingyuan22()回复于 2005-06-02 10:30:56 得分 0

能解决的高手们请具体改写变量部分!Top

6 楼zhaojinhai(云开雾散)回复于 2005-06-02 16:17:43 得分 100

www.xinxi168.comTop

7 楼lipingyuan22()回复于 2005-06-02 16:22:02 得分 0

自己解决!揭贴Top

相关问题

  • 见鬼,字符串常量就OK,变量就出错
  • char数组为什么只能只能赋值字符串常量,不能用变量赋值?
  • vb常量与变量
  • C#中字符常量
  • 字符变变量
  • 在线!我怎么把一个整型变量和一个字符串常量连接起来,传递给CSTRING的对象!!
  • 使用ADO技术中 在使用 数据查询字符串中使用变量和常量有什么区别
  • 如何把变量转成常量?
  • 字符变量问题
  • 关于字符常量的问题!

关键词

  • 字符
  • 数值
  • 汉字
  • 变量
  • chrlpy
  • 正常
  • 正常显示

得分解答快速导航

  • 帖主:lipingyuan22
  • zhaojinhai

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo