邮件订阅
5ucms培训,一个简单的仿xp的js下拉菜单
作者: 来源: 日期:2015/10/12 13:33:30 浏览量:46(滞后) 人气:LOADING...(实时) 【

5ucms培训,一个简单的仿xp的js下拉菜单

  <meta name="vs_targetSchema" c>
  <meta http-equiv="C>
  <link href="http://www.dedecms.com/web-art/htmlbase/Javascript/20040912/xp_menu.css" rel="stylesheet" type="text/css">
  <script language="javascript" src="http://www.dedecms.com/web-art/htmlbase/Javascript/20040912/xp_menu.js"></script>
  <script language="javascript" for="document" event=" for="document" event=" language="javascript" >
  <script language="javascript">
<!--
 //定义一个主菜单对象
 var mnuMain = new menu("mnuMain");    
 mnuMain.bar[0] = new menu_bar("mnuMainNL","","无名谷","","Noteless Valley","",0,"mnuNL");
 mnuMain.bar[1] = new menu_bar("mnuMainSiteAdmin","","网站管理","","网站管理","",0,"mnuSiteAdmin");
 mnuMain.bar[2] = new menu_bar("mnuMainSystem","","系统管理","","系统管理","",0,"mnuSystem");
 mnuMain.bar[3] = new menu_bar("mnuMainShow","","演示菜单","","Menu Show","",0,"mnuShow");
 popMainMenu(mnuMain,0,0,"100%",27);    //激活主菜单,通过参数确定主菜单的位置
 
 var mnuNL = new menu("mnuNL");
 mnuNL.bar[0] = new menu_bar("mnuHomePage","","首页","","HomePage","",1,"http://lijun");
 mnuNL.bar[1] = new menu_bar("mnuDesign","","网页设计","","Design","",1,"http://lijun/article.asp?topic=1");
 mnuNL.bar[2] = new menu_bar("mnuProgram","","网络编程","","Program","",1,"http://lijun/article.asp?topic=2");
 mnuNL.bar[3] = new menu_bar("mnuOthers","","其它文章","","Others","",1,"http://lijun/article.asp?topic=3");
 popSubMenu(mnuNL);
 
 var mnuSiteAdmin = new menu("mnuSiteAdmin")
 mnuSiteAdmin.bar[0] = new menu_bar("mnuAddressUpdate","","访问地区更新","","访问地区更新","",1,"AddressUpdate.asp");
 popSubMenu(mnuSiteAdmin);
 
 var mnuSystem = new menu("mnuSystem");
 mnuSystem.bar[0] = new menu_bar("mnuSysUser","","用户管理","","用户管理","",1,"userAdmin.asp");
 mnuSystem.bar[1] = new menu_bar("mnuSysAuthority","","权限管理","","权限管理","",1,"authority.asp");
 mnuSystem.bar[2] = new menu_bar("\-","","","","","","","");
 mnuSystem.bar[3] = new menu_bar("mnuSysPwdChange","","口令修改","","口令修改","",1,"chgpwd.asp");
 mnuSystem.bar[4] = new menu_bar("\-","","","","","","","");
 mnuSystem.bar[5] = new menu_bar("mnuSysHelp","","帮助","","帮助","",1,"help.asp");
 mnuSystem.bar[6] = new menu_bar("mnuSysAbout","","关于本系统","","关于本系统","",1,"about.asp");
 mnuSystem.bar[7] = new menu_bar("\-","","","","","","","");
 mnuSystem.bar[8] = new menu_bar("mnuSysExit","","退出系统","","退出本系统","",1,"quit.asp");
 popSubMenu(mnuSystem);
 
 var mnuShow = new menu("mnuShow");
 mnuShow.bar[0] = new menu_bar("mnuShow1","","演示菜单一","","Menu Show 1","",1,"menushow1.asp");
 mnuShow.bar[1] = new menu_bar("mnuShow2","","演示菜单二","","Menu Show 2","",0,"mnuShow_2");
 mnuShow.bar[2] = new menu_bar("mnuShow3","","演示菜单三","","Menu Show 3","",1,"menushow3.asp");
 mnuShow.bar[3] = new menu_bar("\-","","","","","","","");
 mnuShow.bar[4] = new menu_bar("mnuShow4","","演示菜单四","","Menu Show 4","",1,"menushow4.asp");
 mnuShow.bar[5] = new menu_bar("mnuShow5","","演示菜单五","","Menu Show 5","",0,"mnuShow_2");
 popSubMenu(mnuShow);
 
 var mnuShow_2 = new menu("mnuShow_2");
 mnuShow_2.bar[0] = new menu_bar("mnuShow21","","演示菜单二一","","Menu Show 2.1","",1,"menushow21.asp");
 mnuShow_2.bar[1] = new menu_bar("mnuShow22","","演示菜单二二","","Menu Show 2.2","",0,"mnuShow_22");
 mnuShow_2.bar[2] = new menu_bar("mnuShow23","","演示菜单二三","","Menu Show 2.3","",1,"menushow23.asp");
 mnuShow_2.bar[3] = new menu_bar("mnuShow24","","演示菜单二四","","Menu Show 2.4","",0,"mnuShow_22");
 mnuShow_2.bar[4] = new menu_bar("mnuShow25","","演示菜单二五","","Menu Show 2.5","",1,"menushow25.asp");
 popSubMenu(mnuShow_2);
 
 var mnuShow_22 = new menu("mnuShow_22");
 mnuShow_22.bar[0] = new menu_bar("mnuShow221","","演示菜单二二一","","Menu Show 2.2.1","",1,"menushow221.asp");
 mnuShow_22.bar[1] = new menu_bar("mnuShow222","","演示菜单二二二","","Menu Show 2.2.2","",1,"menushow222.asp");
 mnuShow_22.bar[2] = new menu_bar("mnuShow223","","演示菜单二二三","","Menu Show 2.2.3","",1,"menushow223.asp");
 popSubMenu(mnuShow_22);
//-->
  </script>
  <table border=0 cellpadding=0 cellspacing=0><tr><td height=27>此部分已经被顶部菜单条覆盖</td></tr></table>
  <p id=lblOutput>信息提示区域</p>
 </body>
</html>

    strHTML += "(<u>" + menu.bar[i].key + "</u>)";
   }
   strHTML += "</div>";
   document.write (strHTML);
   posLeft += document.all.item(menu.bar[i].name).offsetWidth + 1;
  }
  
  strHTML = "</div>";
  document.write (strHTML);
 }
 
 //输出一个已定义的子菜单,竖排的
 functi) {    //如果名称不是“\-”,表示是一个普通菜单条
    strHTML = "<div id=''" + menu.bar[i].name + "'' style=''left:" + posLeft + ";top:" + posTop + ";'' class=''SubMenu'' " +
         "title=''" + menu.bar[i].tip + "'' " +
         ") {
     strHTML += "<img border=0 width=16 height=16 src=''" + menu.bar[i].ico + "''>";
    }else {
     strHTML += "&nbsp;";
    }
    strHTML += "</td>" +
         "      <td nowrap id=''" + menu.bar[i].name + "_text'' class=''text''>" + menu.bar[i].text;
    if (menu.bar[i].key!="") { strHTML = strHTML + "(<u>" + menu.bar[i].key + "</u>)"; }
    strHTML += "</td>" +
         "<td nowrap align=right id=''" + menu.bar[i].name + "_skey'' class=''skey''>";
    if (menu.bar[i].skey!="") {
     strHTML += menu.bar[i].skey;
    }else {
     strHTML += "&nbsp;";
    }
    strHTML += "     </td>" +
         "      <td nowrap align=center width=20 id=''" + menu.bar[i].name + "_sub'' class=''sub''>";
    if (menu.bar[i].type==0) {
     strHTML += "→";
    }else {
     strHTML += "&nbsp;&nbsp;";
    }
    strHTML += "</td>" +
         "    </tr>" +
         "  </table>" +
         "</div>";
    document.write (strHTML);
    posTop += document.all.item(menu.bar[i].name).offsetHeight;
   }else {       //如果名称是“\-”,表示是一条分隔线
    strHTML = "<div style=''left:" + posLeft + ";top:" + posTop + ";'' class=''SubMenu''>" +
         "  <table border=0 cellpadding=0 cellspacing=0 width=240>" +
         "    <tr>" +
         "      <td nowrap style=''background-color: #dedbd6;'' width=21></td>" +
         "      <td nowrap style=''padding-left:5px;padding-top:1px;padding-bottom:1px;''>" +
         "        <table border=0 cellpadding=0 cellspacing=0 width=100%>" +
         "          <tr><td height=1 bgcolor=''#636563''></td></tr>" +
         "        </table>" +
         "      </td>" +
         "    </tr>" +
         "  </table>" +
         "</div>";
    document.write (strHTML);
    posTop += 3;
   }
  }
  
  strHTML = "</div>"
  document.write (strHTML);
  document.all.item(menu.name).style.height = posTop+3;    //重设子菜单背景框
 }


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//    以下为操纵菜单的部分
//_________________________________________________

 function showMenu(menu,submenu) {  //显示一级子菜单
  document.all.item(submenu).style.left = menu.parentElement.offsetLeft + menu.offsetLeft + 1;   //设置子菜单位置
  document.all.item(submenu).style.top = menu.parentElement.offsetTop + menu.offsetTop + menu.offsetHeight -1;   //设置子菜单的位置
  document.all.item(submenu).style.visibility = "visible";   //显示子菜单
  mnuPrev[mnuPrev.length] = new menuinfo(submenu,1);   //将新打开的子菜单的ID加入当前显示菜单ID数组
 }
 
 function showSubMenu(menu,submenu) {  //显示二级及以下子菜单
  document.all.item(submenu).style.left = menu.parentElement.offsetLeft + menu.offsetLeft + menu.offsetWidth + 2;   //设置子菜单位置
  document.all.item(submenu).style.top = menu.parentElement.offsetTop + menu.offsetTop + 1;   //设置子菜单的位置
  if (document.all.item(submenu).offsetLeft + document.all.item(submenu).offsetWidth > doc_width) {
   document.all.item(submenu).style.left = menu.parentElement.offsetLeft - document.all.item(submenu).offsetWidth + 1;
  }
  if (document.all.item(submenu).offsetTop + document.all.item(submenu).offsetHeight > doc_height) {
   document.all.item(submenu).style.top = document.all.item(submenu).offsetTop + menu.offsetHeight - document.all.item(submenu).offsetHeight + 2;
  }
  document.all.item(submenu).style.visibility = "visible";   //显示子菜单
  mnuPrev[mnuPrev.length] = new menuinfo(submenu,1);   //将新打开的子菜单的ID加入当前显示菜单ID数组
 }
 
 function showstatus() {   //测试阶段用的函数,显示当前菜单ID数组内的内容
  lblMsg.innerText = "";
  for(var i=0;i<mnuPrev.length;i++) {
   lblMsg.innerText += mnuPrev[i].id + " > ";
  }
 }
 
 function menuinfo(id,type) {
  this.id = id;    //0表示菜单项,1表示菜单框
  this.type = type;
 }

 function menu_onmouseover(obj,cmd) {
  if(!mClick) {
   obj.className = "MainMenuOver";
   mnuPrev[mnuPrev.length] = new menuinfo(obj.id,0);    //将当前的菜单ID压入当前菜单ID数组
   //showstatus();   //调试阶段使用
  }else {
   if (mnuPrev[0].id == obj.id) { return false; }   //如果是在本身上移动,不作为
   document.all.item(mnuPrev[0].id).className = "MainMenu";
   for (var i=1;i<mnuPrev.length;i++) {
    if (mnuPrev[i].type==0) {   //如果是菜单项,设置成默认样式
     document.all.item(mnuPrev[i].id + "_ico").className = "ico";
     document.all.item(mnuPrev[i].id + "_text").className = "text";
     document.all.item(mnuPrev[i].id + "_skey").className = "skey";
     document.all.item(mnuPrev[i].id + "_sub").className = "sub";
    }else {   //如果是菜单框,隐藏它
     document.all.item(mnuPrev[i].id).style.visibility = "hidden";
    }
   }
   mnuPrev.length = 0;
   obj.className = "MainMenuClick";
   mnuPrev[mnuPrev.length] = new menuinfo(obj.id,0);
   showMenu(obj,cmd);
   //showstatus();   //调试阶段使用
  }
 }

 function menu_onmouseout(obj) {
  if(!mClick) {
   obj.className = "MainMenu";
   mnuPrev.length --;   //清除最后一个压入当前菜单ID数组的菜单ID
   //showstatus();   //调试阶段使用
  }
 }
 
 function menu_onclick(obj,cmd) {
  if(!mClick) {    //如果菜单当前状态是非点击状态,证明当前是从非点击状态到点击状态
   obj.className = "MainMenuClick";    //设置当前菜单为鼠标单击之后的状态
   showMenu(obj,cmd);    //显示子菜单
   //showstatus();   //调试阶段使用
   mClick = true;   //设置菜单当前是点击状态
  }else {
   obj.className = "MainMenuOver";    //设置当前菜单为鼠标移动上面的状态,非点击状态
   document.all.item(mnuPrev[mnuPrev.length-1].id).style.visibility = "hidden";
   mnuPrev.length --;
   //showstatus();   //调试阶段使用
   mClick = false;    //主菜单当前是非点击状态
  }
  bMenuClick = true;   //在一个菜单上单击后设置其状态为true,用来屏蔽document_click事件
 }

 function bar_onmouseover(obj,type,cmd) {
  for (var i=1;i<mnuPrev.length;i++) {
   if(mnuPrev[i].id==obj.parentElement.id) {
    for (var j=i+1;j<mnuPrev.length;j++) {    //处理由前一个菜单项打开的子菜单,可能有多层
     if (mnuPrev[j].type==0) {   //如果是菜单项,设置成默认样式
      document.all.item(mnuPrev[j].id + "_ico").className = "ico";
      document.all.item(mnuPrev[j].id + "_text").className = "text";
      document.all.item(mnuPrev[j].id + "_skey").className = "skey";
      document.all.item(mnuPrev[j].id + "_sub").className = "sub";
     }else {   //如果是菜单框,隐藏它
      document.all.item(mnuPrev[j].id).style.visibility = "hidden";
     }
    }
    mnuPrev.length = i + 1;
    break;
   }
  }
  mnuPrev[mnuPrev.length] = new menuinfo(obj.id,0);
  //showstatus();   //调试阶段使用
  document.all.item(obj.id + "_ico").className = "icoOver";
  document.all.item(obj.id + "_text").className = "textOver";
  document.all.item(obj.id + "_skey").className = "skeyOver";
  document.all.item(obj.id + "_sub").className = "subOver";
  if (type==0) { showSubMenu(obj,cmd); }   //如果有下一级菜单就展开
  //showstatus();   //调试阶段使用
 }
  
 function bar_onmouseout(obj,type,cmd) {
  if (type!=0) {
   document.all.item(obj.id + "_ico").className = "ico";
   document.all.item(obj.id + "_text").className = "text";
   document.all.item(obj.id + "_skey").className = "skey";
   document.all.item(obj.id + "_sub").className = "sub";
   if (mnuPrev.length>0) {
    mnuPrev.length --;
   }
   
   //showstatus();   //调试阶段使用
  }
 }

 function bar_onclick(obj,type,cmd) {
  if (type==1) {
   //window.navigate(cmd);   //跳转到相应的文件
   lblOutput.innerText = cmd; //演示期间,将文件名显示出来
  }else {
   bMenuClick = true;   //在一个菜单上单击后设置其状态为true,用来屏蔽document_click事件
  }
 }


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//    以下为与主文件有关的控制部分,具体使用时需要关注的也仅仅这部分而已
//_____________________________________________________________

 var doc_width;    //当前窗口的宽度,随窗口大小改变而改变
 var doc_height;    //当前窗口的高度,随窗口大小改变而改变
 
 var mClick = false;   //一级菜单是否被点击,初始一级菜单是未被点击状态
 var bMenuClick = false;    //单击是否是在一个菜单上,初始单击不是在一个菜单上
 var mnuPrev = new Array();   //当前显示的菜单ID数组,初始为空

 function document_onselectstart() {
  return false;    //屏蔽内容选择功能
 }

 function document_onclick() {
  if(!bMenuClick) {
   if (mnuPrev.length>0) {
    for (var i=1;i<mnuPrev.length;i++) {
     if (mnuPrev[i].type==0) {   //如果是菜单项,设置成默认样式
      document.all.item(mnuPrev[i].id + "_ico").className = "ico";
      document.all.item(mnuPrev[i].id + "_text").className = "text";
      document.all.item(mnuPrev[i].id + "_skey").className = "skey";
      document.all.item(mnuPrev[i].id + "_sub").className = "sub";
     }else {   //如果是菜单框,隐藏它
      document.all.item(mnuPrev[i].id).style.visibility = "hidden";
     }
    }
    document.all.item(mnuPrev[0].id).className = "MainMenu";    //将主菜单的状态恢复普通状态
   }
   mnuPrev.length = 0;    //清空当前显示菜单
   mClick = false;    //清除菜单点击状态
  }else {
   bMenuClick = false;
  }
 }

 function window_onresize() {
  //当窗口尺寸变化时改变相应变量的值
  doc_height = window.document.body.offsetHeight;
  doc_width = window.document.body.offsetWidth;
 }

 function window_onload() {
  //初始化窗口尺寸
  doc_height = window.document.body.offsetHeight;
  doc_width = window.document.body.offsetWidth;
 }

//-->


欢迎您访问www.5ucms.org

本站推荐: 5ucms模板下载 5ucms插件下载 仿站联系Q3876307       [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms模版,JScript 寫 sortNode
下一篇:5ucms培训,VML:经典的图片叠加效果(灰色调)
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
5ucms培训,一个简单的仿xp的js下拉菜单的关键词:
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org