CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

只要在发一贴了,问CHINAREN里面的菜单效果

楼主ziling1250(子翎)2003-07-01 14:52:43 在 Web 开发 / JavaScript 提问

var   current   =   null; //   indicating   current   page  
  function   expand(id)   {  
  var   target   =   document.getElementById(id);  
  if   (!target)  
  return;  
  if   (current)   {  
  current.style.display   =   "none";  
  }  
  current=target;  
  target.style.display="block";  
  }  
   
  /*    
    *   This   is   called   from   the   right   window   to   update   the   folder   list  
    *   The   input   is   the   fragment   of   html   to   be   inserted   to   tablist.z  
    */  
  function   updateFolderList(s)   {  
  var   target   =   document.getElementById('tablist.z');  
  if   (target)   {  
  target.innerHTML   =   s;  
  }   else  
  alert   ('cannot   find   tablist.z');  
  }  
   
  menuopen=-1;  
  menuurlprefix='';  
   
  function   findObj(n)   {  
  var   x;  
   
  d=document;  
  if(!(x=d[n])&&d.all)   x=d.all[n];  
  if(!x   &&   d.getElementById)   x=d.getElementById(n);  
  return   x;  
  }  
   
  function   hidemenu(menuid)   {  
  menuobj=findObj("menu"+menuid)  
  menuheadobj=findObj("menuhead"+menuid)  
  if(!menuheadobj)return;  
  if   (menuobj)   {  
  menuobj.style.visibility='hidden';  
  }  
  menuheadobj.className='menuhead';  
   
  menuopen=-1;  
  }  
   
  function   showmenu(menuid)   {  
  menuobj=findObj("menu"+menuid);  
  menuheadobj=findObj("menuhead"+menuid)  
  if(!menuheadobj)return;  
  if   (menuobj)   {  
  dh=document.body.clientHeight;  
  menupos=menuheadobj.parentElement.offsetTop-document.body.scrollTop;  
  menuheight=menuobj.clientHeight;  
  if((menupos+menuheight>dh)&&(menupos>0))   {  
  menutop=dh-(menuheight+menupos)-2;  
  if   (menutop<-menupos)   menutop=-menupos;  
  menuobj.style.top=menutop;  
  }   else   {  
  menuobj.style.top=0;  
  }  
   
  menuobj.style.visibility='visible';  
  //menuobj.filters.opacity=55;  
  //menutobj.filters.opacity=55;  
   
  menuheadobj.className='menuhead_opensub';  
  }   else   {  
  menuheadobj.className='menuhead_open';  
  }  
   
  menuopen=menuid;  
  }  
   
  function   menuhead_rollon()   {  
  o=window.event.srcElement;  
  openmenuid=o.id.substr(8);  
   
  if(menuopen>=0)   hidemenu(menuopen);  
   
  showmenu(openmenuid);  
  }  
   
  function   menu_rollon()   {  
  o=window.event.srcElement;  
  if   (o.className   ==   "menuopt")   o.className   =   "menuopt_over";  
  }  
   
  function   menu_rolloff()   {  
  o=window.event.srcElement;  
      if   (o.className.substring(0,7)   ==   "menuopt")   o.className   =   "menuopt";  
  }  
   
  function   menu_mousedown()   {  
  o=window.event.srcElement;  
  if   (o.className   ==   "menuopt_over")   o.className   =   "menuopt_click";  
    if   (o.className   ==   "menuhead_open")   o.className   =   "menuhead_click";  
    if   (o.className   ==   "menuhead_opensub")   o.className   =   "menuhead_clicksub";  
  }  
   
  function   menu_mouseup()   {  
  o=window.event.srcElement;  
    if   (o.className   ==   "menuopt_click")   o.className   =   "menuopt_over";  
    if   (o.className   ==   "menuhead_click")   o.className   =   "menuhead_open";  
    if   (o.className   ==   "menuhead_clicksub")   o.className   =   "menuhead_opensub";  
  }  
   
  function   menu_mouseclick()   {  
  o=window.event.srcElement;  
  if   (o.className   ==   "menuopt_over")   {  
  //menusubid=o.id.split(".");  
  menuid=menusubid[0];  
  menuoptid=menusubid[1];  
  t=menuoptions[menuid][menuoptid].split('|');  
  newurl=t[1];  
  if   (newurl.substr(0,7)!='http://')   newurl=menuurlprefix   +   newurl;  
  if   (newurl.substr(0,3)=='js:')    
  eval(newurl.substr(3,newurl.length));  
  else  
  window.location=newurl;  
  }   else   if   ((o.className   ==   "menuhead_open")||(o.className   ==   "menuhead_opensub"))   {  
  menuid=o.id.substr(8);  
  t=menuoptions[menuid][0].split('|');  
  newurl=t[1];  
  if   (newurl.substr(0,7)!='http://')   newurl=menuurlprefix   +   newurl;  
  if   (newurl.substr(0,3)=='js:')    
  eval(newurl.substr(3,newurl.length));  
  else  
  window.location=newurl;  
  }  
  }  
   
  function   document_mouseover()   {  
  if(menuopen>=0)   {  
  o=window.event.srcElement;  
  menuobj=findObj("menu"+menuopen);  
  if   (menuobj)   {  
  if   ((menuobj.style.visibility   ==   "visible")&&(o.id.length==0))   hidemenu(menuopen);  
  }   else   {  
  menuobj=findObj("menuhead"+menuopen);  
  if   ((menuobj.className   ==   "menuhead_open")&&(o.id.length==0))   menuobj.className="menuhead";  
  }  
  }  
  }  
   
  function   menu_build()   {  
  for   (x   in   menuoptions)   {  
  subopts=menuoptions[x].length;  
  vpos=280+(x*20);  
  for   (y   in   menuoptions[x])   {  
  t=menuoptions[x][y].split('|');  
  if(y==0)   {  
  cc=t[2];  
  document.write   ('<span   class="menuspan"   style="position:   absolute;   top:   '   +   vpos   +   ';">&nbsp;&nbsp;');  
  if(subopts>1){  
  document.writeln   ('<span   class="menuhead"   id="menuhead'+x+'"   unselectable="on">'+t[0]+'</a></span>');  
  }else{  
  if(cc!=200){  
  document.writeln   ('<span   class="menuheadx"   id="menuhead'+x+'"   unselectable="on"   style="color:#000000">&middot;'+t[0]+'</span>');  
  }else{  
  document.writeln   ('<span   class="menuhead"   id="menuhead'+x+'"   unselectable="on">'+t[0]+'</span>');  
  }  
  }  
  if(subopts>1)   document.writeln   ('<span   id="menu'+x+'"   class="menu"><table   width="'+t[2]+'"   border="0"   cellspacing="0"   cellpadding="0">');  
  }   else   {  
  document.writeln   ('<tr><td   class="menuopt"   id="'+x+'.'+y+'"   unselectable="on">'+t[0]+'</td></tr>');  
  }  
  }  
  if(subopts>1)   document.writeln('</table></span>');  
  document.write('</span>');  
  }  
  }  
   
  function   menu_addevents()   {  
  for   (x   in   menuoptions)   {  
  className   =   eval('menuhead'+x+'.className');  
  if(className   ==   'menuhead')eval('menuhead'+x+'.onmouseover   =   menuhead_rollon');  
  if(className   ==   'menuhead')eval('menuhead'+x+'.onmousedown   =   menu_mousedown');  
  if(className   ==   'menuhead')eval('menuhead'+x+'.onmouseup   =   menu_mouseup');  
  if(className   ==   'menuhead')eval('menuhead'+x+'.onclick   =   menu_mouseclick');  
  if   (menuoptions[x].length>1)   {  
  className   =   eval('menu'+x+'.className');  
  if(className   ==   'menu')eval('menu'+x+'.onmouseout   =   menu_rolloff');  
  if(className   ==   'menu')eval('menu'+x+'.onmouseover   =   menu_rollon');  
  if(className   ==   'menu')eval('menu'+x+'.onmousedown   =   menu_mousedown');  
  if(className   ==   'menu')eval('menu'+x+'.onmouseup   =   menu_mouseup');  
  if(className   ==   'menu')eval('menu'+x+'.onclick   =   menu_mouseclick');  
  }  
  }  
  document.onmouseover=document_mouseover;  
  }  
   
   
   
  或者有类似效果的也行  
   
  现在我不知道修改连接,我不想直接连过去了,想另开一个页面什么的  
   
  JS苦手参上 问题点数:0、回复次数:0Top

相关问题

  • 谁有在asp.net里面实现菜单效果好的例子(不是用aspnetMenu控件实现的)
  • 如何实现下拉菜单效果
  • 如何生成Officexp效果的菜单
  • 作 Windows开始菜单效果的类
  • 弹出菜单显示效果问题
  • 求 卡片菜单效果, 急...
  • 为何我的弹出菜单和主菜单执行的效果不一样?
  • word里面的菜单栏问题
  • 如何将菜单的效果设置与C#本身的效果相同
  • 如果制作类似于WINDOWS“开始”菜单的效果?

关键词

  • menuhead
  • menuoptions
  • menuobj
  • newurl
  • classname
  • menuopen
  • menu
  • menuheadobj
  • menuid
  • findobj

得分解答快速导航

  • 帖主:ziling1250

相关链接

  • Web开发类图书

广告也精彩

反馈

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