中文(简体)
<HTML> <HEAD> <TITLE></TITLE> <META content="text/html; charset=gb2312" http-equiv=Content-Type> <META content="MSHTML 5.00.2920.0" name=GENERATOR> <script > <!-- // 菜单对象 function contextMenu() { this.items = new Array(); this.addItem = function (item) { this.items[this.items.length] = item; } this.show = function (oDoc) { var strShow = "";变量我; strShow = "<div id="rightmenu" style="背景颜色:#ffffff;边框:#000000 1px 实线;左:0 像素;位置:绝对;顶部:0 像素;可见性:隐藏; Z-索引:10">"; strShow += "<表格边框="0" 高度=""; strShow += this.items.length * 20; strShow += "" cellpadding="0" cellspacing="0" >”; strShow += "<tr height="3"><td bgcolor="#d0d0ce" width="2"></td><td>"; strShow += "<表格边框="0" 宽度="100%" 高度="100%" cellpadding=0 cellspacing=0 bgcolor="#ffffff">"; strShow += "<tr><td bgcolor="#d0d0ce" width="23"></td><td><img src=" " height="1" border= "0"></td></tr></table>"; strShow += "</td><td width="2"></td></tr>"; strShow += "<tr><td bgcolor="#d0d0ce"></td><td>"; strShow += "<表格边框="0" 宽度="100%" 高度="100%" cellpadding=3 cellspacing=0 bgcolor="#ffffff">"; oDoc.write(strShow); for(i=0; i<this.items.length; i++) { this.items[i].show(oDoc); } strShow = "</table></td><td></td></tr>"; strShow += "<tr height="3"><td bgcolor="#d0d0ce"></td><td>"; strShow += "<表格边框="0" 宽度="100%" 高度="100%" cellpadding=0 cellspacing=0 bgcolor="#ffffff">"; strShow += "<tr><td bgcolor="#d0d0ce" width="23"></td><td><img src=" " height="1" border= "0"></td></tr></table>"; strShow += "</td><td></td></tr>"; strShow += "</table></div>n"; oDoc.write(strShow); } } // 菜单项对象 function contextItem(text, icon, cmd, type) { this.text = text ?文本 : ””;这个.icon = 图标 ?图标 : ””;这个.cmd = cmd ? cmd:“”; this.type = 类型 ?类型:“菜单”; this.show = function (oDoc) { var strShow = ""; if(this.type == "菜单") { strShow += "<tr "; strShow += "onmouseover="changeStyle(this, 'on');" "; strShow += "onmouseout="changeStyle(this, 'out');" "; strShow += "onclick=""; strShow += this.cmd; strShow += "">"; strShow += "<td class="ltdexit" width="16">"; if (this.icon == "") strShow += " "; else { strShow += "<img border="0" src=""; strShow += this.icon; strShow += "" width="16" height="16" style= "位置:相对"></img>"; } strShow += "</td><td class="mtdexit">"; strShow += this.text; strShow += "</td><td class="rtdexit" width="5"> </td></tr>"; } else if (this.type == "separator") { strShow += "<tr><td class="ltdexit"> </td>"; strShow += "<td class="mtdexit" colspan="2"><hr color="#000000" size="1"></td></tr>"; oDoc.write(strShow); } } function changeStyle(obj, cmd) { if(obj) try { var imgObj = obj.children(0).children(0); if(cmd == 'on') { obj.children(0).className = "ltdfocus"; obj.children(1).className = "mtdfocus"; obj.children(2).className = "rtdfocus"; if(imgObj) { if(imgObj.tagName.toUpperCase() == "IMG") { imgObj.style.left = "-1px"; } imgObj.style.top = "-1px"; } } } else if(cmd == 'out') { obj.children(0).className = "ltdexit"; obj.children(1).className = "mtdexit"; obj.children(2).className = "rtdexit"; if(imgObj) { if(imgObj.tagName.toUpperCase() == "IMG") { imgObj.style.left = "0px"; } imgObj.style.top = "0px"; } } } } catch (e) {} } function showMenu() { var x, y, w, h, ox, oy; x = event.clientX; y = 事件.clientY; var obj = document.getElementById("rightmenu"); if (obj == null) 返回 true; ox = document.body.clientWidth; oy = document.body.clientHeight; if(x > ox || y > oy) 返回 false; w = obj.offsetWidth; h = obj.offsetHeight; if((x + w) > ox) x = x - w; if((y + h) > oy) y = y - h; obj.style.posLeft = x + document.body.scrollLeft; obj.style.posTop = y + document.body.scrollTop; obj.style.visibility = "可见";返回假; } function hideMenu() { if(event.button == 0) { var obj = document.getElementById("rightmenu"); if (obj == null) 返回 true; obj.style.visibility = "隐藏"; obj.style.posLeft = 0; obj.style.posTop = 0; } } 函数 writeStyle() { var strStyle = ""; strStyle += "<STYLE type=text/css>"; strStyle += "表格{字体系列: "Tahoma","Verdana","宋体"; 字体大小: 9pt}"; strStyle += ".mtdfocus {背景颜色:#ccccff;边框底部:#000000 1px 实心;边框顶部:#000000 1px 实心;光标:手}"; strStyle += ".mtdexit {背景颜色: #ffffff; 边框底部: #ffffff 1px 实心; 顶部边框: #ffffff 1px 实心}"; strStyle += ".ltdfocus {背景颜色:#ccccff;底部边框:#000000 1px 实心;顶部边框:#000000 1px 实心;左边框:#000000 1px 实心;光标:手}"; strStyle += ".ltdexit {背景颜色: #d0d0ce; 边框底部: #d0d0ce 1px 实心; 顶部边框: #d0d0ce 1px 实心; 左边框: #d0d0ce 1px 实心}"; strStyle += ".rtdfocus {背景颜色:#ccccff;底部边框:#000000 1px 实心;顶部边框:#000000 1px 实心;右边框:#000000 1px 实心;光标:手}"; strStyle += ".rtdexit {背景颜色:#ffffff;底部边框:#ffffff 1px 实心;顶部边框:#ffffff 1px 实心;右边框:#ffffff 1px 实心}"; strStyle += "</STYLE>";文档.write(strStyle); } 函数 makeMenu() { var myMenu, item; var homepage_cmd = "this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.downcodes.com/'); return false;"; var favorite_cmd = "window.external.addFavorite('http://www.downcodes.com/','建站学院'); return false;"; var viewcode_cmd = "window.location = '查看源:' + window.location.href"; myMenu = 新的 contextMenu(); item = new contextItem("返回主页", "", "top.location='http://www.downcodes.com/';", "菜单"); myMenu.addItem(项目); item = new contextItem("设为主页", "", homepage_cmd, "菜单"); myMenu.addItem(项目); item = new contextItem("添加到收藏夹", "",favorate_cmd, "menu"); myMenu.addItem(项目); item = new contextItem("联系作者", "", "location.href='mailto:info@downcodes.com'", "菜单"); myMenu.addItem(项目); item = new contextItem("", "", "", "分隔符"); myMenu.addItem(项目); item = new contextItem("察看源码", "", viewcode_cmd, "menu"); myMenu.addItem(项目); myMenu.show(this.document);删除项目;删除我的菜单; } 函数toggleMenu(isEnable) { if(isEnable) document.oncontextmenu = showMenu; else document.oncontextmenu = new function() {return true;}; } writeStyle();制作菜单(); document.onclick = hideMenu; document.oncontextmenu = showMenu;文件://--> </script> </HEAD> <body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0"> <table border="0" width="100% " height="100%" cellpadding="0" cellspacing="3"> <tr><td valign="top"> <div id="docBoard" style="width: 100%"> 超酷的XP风格的网页右键菜单效果代码http://www.downcodes.com/htmldata/sort/5.html </div> </td> <td valign="top"align="right"> <p><输入类型="checkbox" name="closerm" onclick="toggleMenu(!this.checked);">关闭右键菜单</p> </td> </tr> </table> </body> </HTML>