仿系统鼠标右键菜单

<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" c>
</head>
<BODY .event.returnValue=false bgcolor="#FFFFFF" text="#000000">
<style type="text/css">
<!--
body           
{font-size: 9pt;}
table          
{font-size: 9pt; cursor: default; margin: 0;}
tr             
{height: 20;}
tr.over        
{font-size: 9pt; color: #ffffff; background-color: #000080; cursor: default;}
tr.
out         {font-size: 9pt; color: #000000; background-color: #D4D0C8; cursor: default;}
div.rm_div     
{position: absolute; filter: Alpha(Opacity='95'); display: none; background-color: #D4D0C8; border: 2px outset #FFFFFF;width: 0; height: 0;padding:1}
hr.sperator    
{width:95%;border: 1px inset #FFFFFF;}
-->
</style>
<script language="JScript">
<!--
function RightMenu()
{
this.AddExtendMenu=AddExtendMenu;
this.AddItem=AddItem;
this.GetMenu=GetMenu;
this.HideAll=HideAll;
this.I_;
this.I_;
this.I_;
this.P_;
this.P_;
A_rbpm 
= new Array();
HTMLstr  
= "";
HTMLstr 
+= "<!-- RightButton PopMenu -->\n";
HTMLstr 
+= "\n";
HTMLstr 
+= "<!-- PopMenu Starts -->\n";
HTMLstr 
+= "<div id='E_rbpm' class='rm_div'>\n";
// rbpm = right button pop menu
HTMLstr += "<table width='100%' border='0' cellspacing='0'>\n";
HTMLstr 
+= "<!-- Insert A Extend Menu or Item On Here For E_rbpm -->\n";
HTMLstr 
+= "</table>\n";
HTMLstr 
+= "</div>\n";
HTMLstr 
+= "<!-- Insert A Extend_Menu Area on Here For E_rbpm -->";
HTMLstr 
+= "\n";
HTMLstr 
+= "<!-- PopMenu Ends -->\n";
}

function AddExtendMenu(id,name,parent)
{
var TempStr 
= "";
eval(
"A_"+parent+".length++");
eval(
"A_"+parent+"[A_"+parent+".length-1] = id");  // 将此项注册到父菜单项的ID数组中去
TempStr += "<div id='E_"+id+"' class='rm_div'>\n";
TempStr 
+= "<table width='100%' border='0' cellspacing='0'>\n";
TempStr 
+= "<!-- Insert A Extend Menu or Item On Here For E_"+id+" -->";
TempStr 
+= "</table>\n";
TempStr 
+= "</div>\n";
TempStr 
+= "<!-- Insert A Extend_Menu Area on Here For E_"+id+" -->";
TempStr 
+= "<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->";
HTMLstr 
= HTMLstr.replace("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->",TempStr);
eval(
"A_"+id+" = new Array()");
TempStr  
= "";
TempStr 
+= "<!-- Extend Item : P_"+id+" -->\n";
TempStr 
+= "<tr id='P_"+id+"' class='out'";
TempStr 
+= " onmouseover='P_OnMouseOver(\""+id+"\",\""+parent+"\")'";
TempStr 
+= " onmouseout='P_OnMouseOut(\""+id+"\",\""+parent+"\")'";
TempStr 
+= " .event.cancelBubble=true;";
TempStr 
+= " .event.cancelBubble=true;";
TempStr 
+= "><td nowrap>";
TempStr 
+= "  "+name+"   </td><td style='font-family: webdings; text-align: ;'>4";
TempStr 
+= "</td></tr>\n";
TempStr 
+= "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
HTMLstr 
= HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
}

function AddItem(id,name,parent,location)
{
var TempStr 
= "";
var ItemStr 
= "<!-- ITEM : I_"+id+" -->";
if(id == "sperator")
{
TempStr 
+= ItemStr+"\n";
TempStr 
+= "<tr class='out' onclick='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;'><td colspan='2' height='1'><hr class='sperator'></td></tr>";
TempStr 
+= "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
HTMLstr 
= HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
return;
}

if(HTMLstr.indexOf(ItemStr) != -1)
{
alert(
"I_"+id+"already exist!");
return;
}

TempStr 
+= ItemStr+"\n";
TempStr 
+= "<tr id='I_"+id+"' class='out'";
TempStr 
+= " onmouseover='I_OnMouseOver(\""+id+"\",\""+parent+"\")'";
TempStr 
+= " onmouseout='I_OnMouseOut(\""+id+"\")'";
TempStr 
+= " onclick='window.event.cancelBubble=true;'";
if(location == null)
TempStr 
+= " onmouseup='I_OnMouseUp(\""+id+"\",\""+parent+"\",null)'";
else
TempStr 
+= " onmouseup='I_OnMouseUp(\""+id+"\",\""+parent+"\",\""+location+"\")'";
TempStr 
+= "><td nowrap>";
TempStr 
+= "  "+name+"  ";
TempStr 
+= "</td><td></td></tr>\n";
TempStr 
+= "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
HTMLstr 
= HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
}

function GetMenu()
{
return HTMLstr;
}

function I_OnMouseOver(id,parent)
{
var Item;
if(parent != "rbpm")
{
var ParentItem;
ParentItem 
= eval("P_"+parent);
ParentItem.className
="over";
}

Item 
= eval("I_"+id);
Item.className
="over";
HideAll(parent,
1);
}

function I_OnMouseOut(id)
{
var Item;
Item 
= eval("I_"+id);
Item.className
="out";
}

function I_OnMouseUp(id,parent,location)
{
var ParentMenu;
window.
event.cancelBubble=true;
OnClick();
ParentMenu 
= eval("E_"+parent);
ParentMenu.display
="none";
if(location == null)
eval(
"Do_"+id+"()");
else
window.open(location);
}

function P_OnMouseOver(id,parent)
{
var Item;
var Extend;
var Parent;
if(parent != "rbpm")
{
var ParentItem;
ParentItem 
= eval("P_"+parent);
ParentItem.className
="over";
}

HideAll(parent,
1);
Item 
= eval("P_"+id);
Extend 
= eval("E_"+id);
Parent 
= eval("E_"+parent);
Item.className
="over";
Extend.style.display
="block";
Extend.style.posLeft
=document.body.scrollLeft+Parent.offsetLeft+Parent.offsetWidth-4;
if(Extend.style.posLeft+Extend.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
Extend.style.posLeft
=Extend.style.posLeft-Parent.offsetWidth-Extend.offsetWidth+8;
if(Extend.style.posLeft < 0) Extend.style.posLeft=document.body.scrollLeft+Parent.offsetLeft+Parent.offsetWidth;
Extend.style.posTop
=Parent.offsetTop+Item.offsetTop;
if(Extend.style.posTop+Extend.offsetHeight > document.body.scrollTop+document.body.clientHeight)
Extend.style.posTop
=document.body.scrollTop+document.body.clientHeight-Extend.offsetHeight;
if(Extend.style.posTop < 0) Extend.style.posTop=0;
}

function P_OnMouseOut(id,parent)
{
}

function HideAll(id,flag)
{
var Area;
var Temp;
var i;
if(!flag)
{
Temp 
= eval("E_"+id);
Temp.style.display
="none";
}

Area 
= eval("A_"+id);
if(Area.length)
{
for(i=0; i < Area.length; i++)
{
HideAll(Area[i],
0);
Temp 
= eval("E_"+Area[i]);
Temp.style.display
="none";
Temp 
= eval("P_"+Area[i]);
Temp.className
="out";
}

}

}

document.;
document.;
function OnMouseUp()
{
if(window.event.button == 2)
{
var PopMenu;
PopMenu 
= eval("E_rbpm");
HideAll(
"rbpm",0);
PopMenu.style.display
="block";
PopMenu.style.posLeft
=document.body.scrollLeft+window.event.clientX;
PopMenu.style.posTop
=document.body.scrollTop+window.event.clientY;
if(PopMenu.style.posLeft+PopMenu.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
PopMenu.style.posLeft
=document.body.scrollLeft+document.body.clientWidth-PopMenu.offsetWidth;
if(PopMenu.style.posLeft < 0) PopMenu.style.posLeft=0;
if(PopMenu.style.posTop+PopMenu.offsetHeight > document.body.scrollTop+document.body.clientHeight)
PopMenu.style.posTop
=document.body.scrollTop+document.body.clientHeight-PopMenu.offsetHeight;
if(PopMenu.style.posTop < 0) PopMenu.style.posTop=0;
}

}

function OnClick()
{
HideAll(
"rbpm",0);
}

// Add Your Function on following
function Do_viewcode(){window.location="view-source:"+window.location.href;}
function Do_help()
{window.showHelp(window.location);}
function Do_exit() 
{window.close();}
function Do_refresh() 
{window.location.reload();}
function Do_back() 
{history.back();}
function Do_forward() 
{history.forward();}
function Do_author()
{alert(".")}
-->
</script>
<script language="JScript">
<!--
var menu 
= new RightMenu();
menu.AddItem(
"folder_pro2222","&nbsp;Flash动画","rbpm","flash.htm");
menu.AddExtendMenu(
"n_files","&nbsp;网页特效","rbpm");
menu.AddItem(
"f_folder","免费部分:","n_files","#");
menu.AddItem(
"f_folder1","   时间日期类","n_files","freejava1.htm");
menu.AddItem(
"f_folder2","   鼠标事件类","n_files","freejava2.htm");
menu.AddItem(
"f_folder3","   页面窗口类","n_files","freejava3.htm");
menu.AddItem(
"f_folder4","   页面特效类","n_files","freejava4.htm");
menu.AddItem(
"f_folder5","   页面背景类","n_files","freejava5.htm");
menu.AddItem(
"f_folder6","   页面搜索类","n_files","freejava6.htm");
menu.AddItem(
"f_folder7","   文本特效类","n_files","freejava7.htm");
menu.AddItem(
"f_folder8","   在线测试类","n_files","freejava8.htm");
menu.AddItem(
"f_folder9","   状态栏特效","n_files","freejava9.htm");
menu.AddItem(
"f_folder10","   代码生成类","n_files","freejava10.htm");
menu.AddItem(
"f_folder11","   游戏类","n_files","freejava11.htm");
menu.AddItem(
"f_folder12","   技巧类","n_files","freejava12.htm");
menu.AddItem(
"f_folder13","   密码类","n_files","freejava13.htm");
menu.AddItem(
"f_folder14","   综合类","n_files","freejava14.htm");
menu.AddItem(
"sperator","","n_files","");
menu.AddItem(
"f_folder111","收费部分:","n_files","#");
menu.AddItem(
"f_folder15","   页面导航类","n_files","buyjava1.htm");
menu.AddItem(
"f_folder16","   图形图像类","n_files","buyjava2.htm");
menu.AddItem(
"f_folder17","   导航菜单类","n_files","buyjava3.htm");
menu.AddItem(
"f_folder18","   表单对象类","n_files","buyjava4.htm");
menu.AddExtendMenu(
"d_setting","&nbsp;网页模板","rbpm");
menu.AddItem(
"ca_yesky0","免费部分:","d_setting","#");
menu.AddItem(
"ca_yesky1","   商业类模板","d_setting","freetemplate1.htm");
menu.AddItem(
"ca_yesky2","   艺术类模板","d_setting","freetemplate2");
menu.AddItem(
"ca_yesky3","   其他类模板","d_setting","freetemplate3.htm");
menu.AddItem(
"sperator","","d_setting","");
menu.AddItem(
"ca_yesky230","收费部分:","d_setting","#");
menu.AddItem(
"ca_yesky4","   商业类模板","d_setting","buytemplate1.htm");
menu.AddItem(
"ca_yesky5","   艺术类模板","d_setting","buytemplate2");
menu.AddExtendMenu(
"d_ng","&nbsp;Gif动画","rbpm");
menu.AddItem(
"ca0","免费部分:","d_ng","#");
menu.AddItem(
"ca1","   Gif动画","d_ng","freegif.htm");
menu.AddItem(
"sperator","","d_ng","");
menu.AddItem(
"ca30","收费部分:","d_ng","#");
menu.AddItem(
"ca4","   Gif动画","d_ng","buygif.htm");
menu.AddItem(
"sperator","","rbpm",null);
menu.AddItem(
"folder_pro2","&nbsp;网站建设方案","rbpm","site.htm");
menu.AddItem(
"folder_pro3","&nbsp;电子邮件群发","rbpm","mail.htm");
menu.AddItem(
"folder_pro4","&nbsp;域名注册","rbpm","domain.htm");
menu.AddItem(
"folder_pro5","&nbsp;虚拟主机","rbpm","zj.htm");
menu.AddItem(
"folder_pro6","&nbsp;平面设计","rbpm","design.htm");
menu.AddItem(
"folder_pro7","&nbsp;企业形象策划","rbpm","xxch.htm");
menu.AddItem(
"folder_pro8","&nbsp;媒体策划","rbpm","mtch.htm");
menu.AddItem(
"sperator","","rbpm",null);
menu.AddExtendMenu(
"d_g","&nbsp;文论","rbpm");
menu.AddItem(
"ca0789","网页设计诀窍","d_g","word1.htm");
menu.AddItem(
"ca08665","网站合理结构","d_g","word2.htm");
menu.AddItem(
"ca0765","网页搭配用色艺术","d_g","word3.htm");
menu.AddItem(
"ca0323443","如何制作一个烂主页","d_g","word4.htm");
menu.AddItem(
"ca0233","标志设计原","d_g","word5.htm");
menu.AddItem(
"ca0564","媒体研究","d_g","word6.htm");
menu.AddItem(
"ca0976","媒体投放原则","d_g","word7.htm");
menu.AddItem(
"sperator","","rbpm",null);
menu.AddItem(
"folder_pro11111","&nbsp;酷站","rbpm","coolsite.htm");
menu.AddItem(
"sperator","","rbpm",null);
menu.AddItem(
"folder_pro","&nbsp;主页","rbpm","index.htm");
document.writeln(menu.GetMenu());
-->
</script>
</body>
</html>
 
posted @ 2008-02-14 19:08  龍峸.大卫  阅读(265)  评论(0编辑  收藏  举报