dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>脚本编程>其它脚本>文章内容
用javascript仿Windows经典菜单框
来源:本站原创     作者:    

原帖及讨论:

*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国  http://www.bc-cn.net
*/ 作者: islet    E-mail:islet71@163.com    QQ:4238114
*/ 时间: 2007-9-15  编程首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------

menu.:

<menu>
    <m1 key="F" text="文件">
        <m2 key="Ctrl+N" href="" text="新建" />
        <m2 key="Ctrl+O" href="" text="打开" />
        <m2 key="Ctrl+S" href="" text="保存" />
        <m2 key="Ctrl+C" href="exit" text="退出" />
    </m1>
    <m1 key="E" text="编辑">
        <m2 key="Ctrl+C" href="" text="复制" />
        <m2 key="Ctrl+X" href="" text="剪切" />
        <m2 key="Ctrl+V" href="" text="粘贴" />
        <m2 key="Ctrl+A" href="" text="全选" />
    </m1>
    <m1 key="V" text="查看">
        <m2 key="" href="" text="大" />
        <m2 key="" href="" text="中" />
        <m2 key="" href="" text="小" />
    </m1>
    <m1 key="T" text="工具">
        <m2 key="" href="" text="大" />
        <m2 key="" href="" text="中" />
        <m2 key="" href="" text="小" />
    </m1>
</menu>


win.html

<html>
<title>测试框架</title>
<script language="script" src="menu.js"></script>
<link href="menu.css" rel="stylesheet" type="text/css" />
<body onload="Load()">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="25" valign="middle" bgcolor="#D4D0C8" class="winbord"><div id="menu" style="width:100%"></div></td>
  </tr>
  <tr onclick="menuFy()">
    <td height="25" bgcolor="#D4D0C8" class="winbord"> </td>
  </tr>
  <tr onclick="menuFy()">
    <td> </td>
  </tr>
</table>
</body>
</html>


menu.js:

var menuClass="menuover";
function menuClick(m){
menuClass="menudown";
menuPlay(m);
}
function menuOver(m){
m.className=menuClass;
var o=document.getElementById('menu').childNodes;
for(var i=0;i<o.length;i++){
  if(o[i]!=m) menuDisplay(o[i]);
}
if(m.className=="menudown") menuPlay(m);
}
function menuOut(m){
if(m.className=='menuover') m.className='menu';
}
function menuFy(){
menuClass='menuover';
var m=document.getElementById('menu').childNodes;
for(var i=0;i<m.length;i++){menuDisplay(m[i])}
}
function menuDisplay(m){
m.className='menu';
m.childNodes[0].style.display='none';
}
function menuPlay(m){
m.className='menudown';
m.childNodes[0].style.display='';
}
function goTo(o,url){
o.blur();
if(url=="exit") window.close();
return false;
}
loadXML = function(File){
var Doc;
if(window.ActiveXObject){
  xmlDoc     = new ActiveXObject('Microsoft.DOM');
  Doc.async     = false;
  xmlDoc.load(File);
} else if (document.implementation&&document.implementation.createDocument){
  Doc     = document.implementation.createDocument('', '', null);
  xmlDoc.load(File);
} else {
  return null;
}
return Doc;
}
checkXMLDocObj= function(File){
var xmlDoc     = loadXML(File);
if(Doc==null){
  alert('您的浏览器不支持文件读取,推荐使用IE5.0以上可以解决此问题!');
  window.location.href='/Index.aspx';
}
return Doc;
}
function Load(){
var m=document.getElementById('menu'),o=null;
var xmlDoc = checkXMLDocObj('menu.');
var v = Doc.getElementsByTagName('menu/m1');
var s="";
for(var i=0;i<v.length;i++){
  s='<div class="menu" onclick="menuClick(this)" onmouseover="menuOver(this)" onmouseout="menuOut(this)">';
  if(v[i].childNodes){
   o=v[i].childNodes;
   s += '<div style="display:none;" class="fmenu">';
   for(var j=0;j<o.length;j++)
    s += '<div><a href="to:'+o[j].getAttribute("text")+'" onclick="return goTo(this,\''+o[j].getAttribute("href")+'\')">'+o[j].getAttribute("text")+'    '+o[j].getAttribute("key")+'</a></div>';
   s += '</div>';
  }
  s += v[i].getAttribute("text")+'(<u>'+v[i].getAttribute("key")+'</u>)</div>';
  m.innerHTML += s;
}
}


menu.css:

body {
font-size: 12px;
background-color: #FFFFFF;
margin: 0px;
}
.winbord {
font-size: 12px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-top-width: 1px;
border-right-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-left-style: solid;
border-top-color: #FFFFFF;
border-right-color: #808080;
border-bottom-color: #808080;
border-left-color: #FFFFFF;
cursor: default;
}
.menu {
margin: 0px;
border: 1px solid #D4D0C8;
font-size: 12px;
float: left;
padding-right: 4px;
padding-left: 4px;
width: 60;
text-align: center;
line-height: 21px;
cursor: default;
}
.menuover {
margin: 0px;
font-size: 12px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #FFFFFF;
border-right-color: #808080;
border-bottom-color: #808080;
border-left-color: #FFFFFF;
width: 60;
text-align: center;
height: 21px;
line-height: 21px;
float: left;
padding-right: 4px;
padding-left: 4px;
cursor: default;
}
.menudown {
margin: 0px;
font-size: 12px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #808080;
border-right-color: #FFFFFF;
border-bottom-color: #FFFFFF;
border-left-color: #808080;
width: 60;
text-align: center;
height: 21px;
line-height: 21px;
float: left;
padding-right: 4px;
padding-left: 4px;
cursor: default;
}
.fmenu {
position:absolute;
z-index:1;
background-color: #D4D0C8;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #FFFFFF;
border-left-color: #FFFFFF;
border-right-color: #808080;
border-bottom-color: #808080;
font-size: 12px;
line-height: 20px;
margin-top: 20px;
margin-left: -9px;
text-align: left;
white-space:nowrap;
padding: 1px;
}a:link {
color: #000000;
text-decoration: none;
background-color: #D4D0C8;
width: 100%;
font-size: 12px;
line-height: 20px;
padding-right: 15px;
padding-left: 15px;
}
a:visited {
color: #000000;
text-decoration: none;
background-color: #D4D0C8;
width: 100%;
line-height: 20px;
padding-right: 15px;
padding-left: 15px;
}
a:hover {
color: #FFFFFF;
text-decoration: none;
background-color: #363A69;
width: 100%;
line-height: 20px;
padding-right: 15px;
padding-left: 15px;
}

 

点击下载该文件

 

 

上一篇:用javascript仿163邮箱网盘多文件上传用户控件   下一篇:菜鸟应用JAVASCRIPT 之 简易网页音乐播放程序
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·结合JavaScript与ASP.NET Web窗
·菜鸟应用JAVASCRIPT 之 简易闹钟
·菜鸟应用JAVASCRIPT 之 简易随机
·菜鸟应用JAVASCRIPT 之 简易随机
·用javascript仿163邮箱网盘多文
·菜鸟应用JAVASCRIPT 之 简易网页
·AJAX技术基础介绍
·纯javascript联动的例子
·JavaScript的BASE64
·操作cookies的js框架
·状态栏走马灯效果
·JavaScript教程
  相关文章
·用javascript仿163邮箱网盘多文
·菜鸟应用JAVASCRIPT 之 简易网页
·菜鸟应用JAVASCRIPT 之 简易随机
·AJAX技术基础介绍
·菜鸟应用JAVASCRIPT 之 简易随机
·纯javascript联动的例子
·菜鸟应用JAVASCRIPT 之 简易闹钟
·JavaScript的BASE64
·结合JavaScript与ASP.NET Web窗
·操作cookies的js框架
·状态栏走马灯效果
·JavaScript教程
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763