[原创]Windows经典菜单框
*/ --------------------------------------------------------------------------------------<br>*/ 出自: 编程中国 http://www.bc-cn.net<br>*/ 作者: islet E-mail:islet71@163.com QQ:4238114<br>*/ 时间: 2007-9-15 编程论坛首发<br>*/ 声明: 尊重作者劳动,转载请保留本段文字<br>*/ --------------------------------------------------------------------------------------<br><br>menu.xml:<br><DIV class=htmlcode><menu><br> <m1 key="F" text="文件"><br> <m2 key="Ctrl+N" href="" text="新建" /><br> <m2 key="Ctrl+O" href="" text="打开" /><br> <m2 key="Ctrl+S" href="" text="保存" /><br> <m2 key="Ctrl+C" href="exit" text="退出" /><br> </m1><br> <m1 key="E" text="编辑"><br> <m2 key="Ctrl+C" href="" text="复制" /><br> <m2 key="Ctrl+X" href="" text="剪切" /><br> <m2 key="Ctrl+V" href="" text="粘贴" /><br> <m2 key="Ctrl+A" href="" text="全选" /><br> </m1><br> <m1 key="V" text="查看"><br> <m2 key="" href="" text="大" /><br> <m2 key="" href="" text="中" /><br> <m2 key="" href="" text="小" /><br> </m1><br> <m1 key="T" text="工具"><br> <m2 key="" href="" text="大" /><br> <m2 key="" href="" text="中" /><br> <m2 key="" href="" text="小" /><br> </m1><br></menu><br></DIV><br>win.html<br>
<DIV class=htmlcode><html><br><title>测试框架</title><br><script language="javascript" src="menu.js"></script><br><link href="menu.css" rel="stylesheet" type="text/css" /><br><body onload="Load()"><br><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><br> <tr><br> <td height="25" valign="middle" bgcolor="#D4D0C8" class="winbord"><div id="menu" style="width:100%"></div></td><br> </tr><br> <tr onclick="menuFy()"><br> <td height="25" bgcolor="#D4D0C8" class="winbord">&nbsp;</td><br> </tr><br> <tr onclick="menuFy()"><br> <td>&nbsp;</td><br> </tr><br></table><br></body><br></html></DIV><br>menu.js:<br>
<DIV class=htmlcode>var menuClass="menuover";<br>function menuClick(m){<br> menuClass="menudown";<br> menuPlay(m);<br>}<br>function menuOver(m){<br> m.className=menuClass;<br> var o=document.getElementById('menu').childNodes;<br> for(var i=0;i<o.length;i++){<br> if(o[i]!=m) menuDisplay(o[i]);<br> }<br> if(m.className=="menudown") menuPlay(m);<br>}<br>function menuOut(m){<br> if(m.className=='menuover') m.className='menu';<br>}<br>function menuFy(){<br> menuClass='menuover';<br> var m=document.getElementById('menu').childNodes;<br> for(var i=0;i<m.length;i++){menuDisplay(m[i])}<br>}<br>function menuDisplay(m){<br> m.className='menu';<br> m.childNodes[0].style.display='none';<br>}<br>function menuPlay(m){<br> m.className='menudown';<br> m.childNodes[0].style.display='';<br>}<br>function goTo(o,url){<br> o.blur();<br> if(url=="exit") window.close();<br> return false;<br>}</DIV>
<DIV class=htmlcode>loadXML = function(xmlFile){<br> var xmlDoc;<br> if(window.ActiveXObject){<br> xmlDoc = new ActiveXObject('Microsoft.XMLDOM');<br> xmlDoc.async = false;<br> xmlDoc.load(xmlFile);<br> } else if (document.implementation&&document.implementation.createDocument){<br> xmlDoc = document.implementation.createDocument('', '', null);<br> xmlDoc.load(xmlFile);<br> } else {<br> return null;<br> }<br> return xmlDoc;<br>}</DIV>
<DIV class=htmlcode>checkXMLDocObj= function(xmlFile){<br> var xmlDoc = loadXML(xmlFile);<br> if(xmlDoc==null){<br> alert('您的浏览器不支持xml文件读取,推荐使用IE5.0以上可以解决此问题!');<br> window.location.href='/Index.aspx';<br> }<br> return xmlDoc;<br>}<br>function Load(){<br> var m=document.getElementById('menu'),o=null;<br> var xmlDoc = checkXMLDocObj('menu.xml');<br> var v = xmlDoc.getElementsByTagName('menu/m1');<br> var s="";<br> for(var i=0;i<v.length;i++){<br> s='<div class="menu" onclick="menuClick(this)" onmouseover="menuOver(this)" onmouseout="menuOut(this)">';<br> if(v[i].childNodes){<br> o=v[i].childNodes;<br> s += '<div style="display:none;" class="fmenu">';<br> for(var j=0;j<o.length;j++)<br> s += '<div><a href="to:'+o[j].getAttribute("text")+'" onclick="return goTo(this,\''+o[j].getAttribute("href")+'\')">'+o[j].getAttribute("text")+'&nbsp;&nbsp;&nbsp;&nbsp;'+o[j].getAttribute("key")+'</a></div>';<br> s += '</div>';<br> }<br> s += v[i].getAttribute("text")+'(<u>'+v[i].getAttribute("key")+'</u>)</div>';<br> m.innerHTML += s;<br> }<br>}</DIV><br>menu.css:<br>
<DIV class=htmlcode>body {<br> font-size: 12px;<br> background-color: #FFFFFF;<br> margin: 0px;<br>}<br>.winbord {<br> font-size: 12px;<br> border-bottom-width: 1px;<br> border-bottom-style: solid;<br> border-top-width: 1px;<br> border-right-width: 1px;<br> border-left-width: 1px;<br> border-top-style: solid;<br> border-right-style: solid;<br> border-left-style: solid;<br> border-top-color: #FFFFFF;<br> border-right-color: #808080;<br> border-bottom-color: #808080;<br> border-left-color: #FFFFFF;<br> cursor: default;<br>}<br>.menu {<br> margin: 0px;<br> border: 1px solid #D4D0C8;<br> font-size: 12px;<br> float: left;<br> padding-right: 4px;<br> padding-left: 4px;<br> width: 60;<br> text-align: center;<br> line-height: 21px;<br> cursor: default;<br>}<br>.menuover {<br> margin: 0px;<br> font-size: 12px;<br> border-top-width: 1px;<br> border-right-width: 1px;<br> border-bottom-width: 1px;<br> border-left-width: 1px;<br> border-top-style: solid;<br> border-right-style: solid;<br> border-bottom-style: solid;<br> border-left-style: solid;<br> border-top-color: #FFFFFF;<br> border-right-color: #808080;<br> border-bottom-color: #808080;<br> border-left-color: #FFFFFF;<br> width: 60;<br> text-align: center;<br> height: 21px;<br> line-height: 21px;<br> float: left;<br> padding-right: 4px;<br> padding-left: 4px;<br> cursor: default;<br>}<br>.menudown {<br> margin: 0px;<br> font-size: 12px;<br> border-top-width: 1px;<br> border-right-width: 1px;<br> border-bottom-width: 1px;<br> border-left-width: 1px;<br> border-top-style: solid;<br> border-right-style: solid;<br> border-bottom-style: solid;<br> border-left-style: solid;<br> border-top-color: #808080;<br> border-right-color: #FFFFFF;<br> border-bottom-color: #FFFFFF;<br> border-left-color: #808080;<br> width: 60;<br> text-align: center;<br> height: 21px;<br> line-height: 21px;<br> float: left;<br> padding-right: 4px;<br> padding-left: 4px;<br> cursor: default;<br>}<br>.fmenu {<br> position:absolute;<br> z-index:1;<br> background-color: #D4D0C8;<br> border-top-width: 1px;<br> border-right-width: 1px;<br> border-bottom-width: 1px;<br> border-left-width: 1px;<br> border-top-style: solid;<br> border-right-style: solid;<br> border-bottom-style: solid;<br> border-left-style: solid;<br> border-top-color: #FFFFFF;<br> border-left-color: #FFFFFF;<br> border-right-color: #808080;<br> border-bottom-color: #808080;<br> font-size: 12px;<br> line-height: 20px;<br> margin-top: 20px;<br> margin-left: -9px;<br> text-align: left;<br> white-space:nowrap;<br> padding: 1px;<br>}a:link {<br> color: #000000;<br> text-decoration: none;<br> background-color: #D4D0C8;<br> width: 100%;<br> font-size: 12px;<br> line-height: 20px;<br> padding-right: 15px;<br> padding-left: 15px;<br>}<br>a:visited {<br> color: #000000;<br> text-decoration: none;<br> background-color: #D4D0C8;<br> width: 100%;<br> line-height: 20px;<br> padding-right: 15px;<br> padding-left: 15px;<br>}<br>a:hover {<br> color: #FFFFFF;<br> text-decoration: none;<br> background-color: #363A69;<br> width: 100%;<br> line-height: 20px;<br> padding-right: 15px;<br> padding-left: 15px;<br>}<br></DIV>
[align=right][color=#000066][此贴子已经被作者于2007-9-15 13:31:58编辑过][/color][/align]
不错,我顶
不错,我顶,收藏,经典.不错,我顶
不错,我顶,收藏.经典. 现在水平高固然好,我的观点是,不要再重复劳动发明轮子了,留着精力创造更加完善的产品代码吧。如果lz需要用到任何UI的东西,请看看这个www.extjs.com页:
[1]
