超酷的XP风格的网页右键菜单特效代码

本文提供了一段实现XP风格的网页右键菜单特效的JavaScript代码。该代码通过自定义菜单项,包括返回主页、设为主页等功能,为网页添加了美观且实用的右键菜单。此外,还提供了关闭菜单的选项。

 

<HTML>
<HEAD>
<TITLE></TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR>
<script>
<!--
// menu object
function contextMenu()
{
 
this.items   = new Array();
 
 
this.addItem = function (item)
 {
  
this.items[this.items.length] = item;
 }

 
this.show = function (oDoc)
 {
  
var strShow = "";
  
var i;
  
  strShow 
= "<div id="rightmenu" style="BACKGROUND-COLOR: #ffffff; BORDER: #000000 1px solid; LEFT: 0px; POSITION: absolute; TOP: 0px; VISIBILITY: hidden; Z-INDEX: 10">";
  strShow 
+= "<table border="0" height="";
  strShow 
+= this.items.length * 20;
  strShow 
+= "" cellpadding="0" cellspacing="0">";
  strShow 
+= "<tr height="3"><td bgcolor="#d0d0ce" width="2"></td><td>";
  strShow 
+= "<table border="0" width="100%" height="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 
+= "<table border="0" width="100%" height="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 
+= "<table border="0" width="100%" height="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> ";
  oDoc.write(strShow);
 }
}

// menu Item object
function contextItem(text, icon, cmd, type)
{
 
this.text = text ? text : "";
 
this.icon = icon ? icon : "";
 
this.cmd = cmd ? cmd : "";
 
this.type = type ? type : "menu";
 
 
this.show = function (oDoc)
 {
  
var strShow = "";
  
  
if(this.type == "menu")
  {
   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 
+= "&nbsp;";
   
else {
    strShow 
+= "<img border="0" src="";
    strShow 
+= this.icon;
    strShow 
+= "" width="16" height="16" style="POSITION: relative"></img>";
   }
   strShow 
+= "</td><td class="mtdexit">";
   strShow 
+= this.text;
   strShow 
+= "</td><td class="rtdexit" width="5">&nbsp;</td></tr>";
  }
  
else if (this.type == "separator")
  {
   strShow 
+= "<tr><td class="ltdexit">&nbsp;</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 
= event.clientY;
 
 
var obj = document.getElementById("rightmenu");
 
if (obj == null)
  
return true;
 
 ox 
= document.body.clientWidth;
 oy 
= document.body.clientHeight;
 
if(x > ox || y > oy)
  
return 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 
= "visible";
 
 
return false;
}
function hideMenu()
{
 
if(event.button == 0)
 {
  
var obj = document.getElementById("rightmenu");
  
if (obj == null)
   
return true;
  obj.style.visibility 
= "hidden";
  obj.style.posLeft 
= 0;
  obj.style.posTop 
= 0;
 }
}

function writeStyle()
{
 
var strStyle = "";
 
 strStyle 
+= "<STYLE type=text/css>";
 strStyle 
+= "TABLE {Font-FAMILY: "Tahoma","Verdana","宋体"; FONT-SIZE: 9pt}";
 strStyle 
+= ".mtdfocus {BACKGROUND-COLOR: #ccccff; BORDER-BOTTOM: #000000 1px solid; BORDER-TOP: #000000 1px solid; CURSOR: hand}";
 strStyle 
+= ".mtdexit {BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid}";
 strStyle 
+= ".ltdfocus {BACKGROUND-COLOR: #ccccff; BORDER-BOTTOM: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; CURSOR: hand}";
 strStyle 
+= ".ltdexit {BACKGROUND-COLOR: #d0d0ce; BORDER-BOTTOM: #d0d0ce 1px solid; BORDER-TOP: #d0d0ce 1px solid; BORDER-LEFT: #d0d0ce 1px solid}";
 strStyle 
+= ".rtdfocus {BACKGROUND-COLOR: #ccccff; BORDER-BOTTOM: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; CURSOR: hand}";
 strStyle 
+= ".rtdexit {BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; BORDER-RIGHT: #ffffff 1px solid}";
 strStyle 
+= "</STYLE>";
 
 document.write(strStyle);
}

function makeMenu()
{
 
var myMenu, item;
 
 
var homepage_cmd = "this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.webjx.com/'); return false;";
 
var favorate_cmd = "window.external.addFavorite('http://www.webjx.com/','网页教学网'); return false;";
 
var viewcode_cmd = "window.location = 'view-source:' + window.location.href";
 
 myMenu 
= new contextMenu();
 
 item 
= new contextItem("返回主页""http://www.webjx.com/js/home.gif""top.location='http://www.webjx.com/';""menu");
 myMenu.addItem(item);
 
 item 
= new contextItem("设为主页""http://www.webjx.com/js/home.gif", homepage_cmd, "menu");
 myMenu.addItem(item);
 
 item 
= new contextItem("添加到收藏夹""http://www.webjx.com/js/favadd.gif", favorate_cmd, "menu");
 myMenu.addItem(item);
 
 item 
= new contextItem("联系作者""http://www.webjx.com/js/mail.gif""location.href='mailto:info@webjx.com'""menu");
 myMenu.addItem(item);
 
 item 
= new contextItem("""""""separator");
 myMenu.addItem(item);
 
 item 
= new contextItem("察看源码""http://www.webjx.com/js/edit.gif", viewcode_cmd, "menu");
 myMenu.addItem(item);
 
 myMenu.show(
this.document);

 
delete item;
 
delete myMenu;
}

function toggleMenu(isEnable)
{
 
if(isEnable)
  document.oncontextmenu 
= showMenu;
 
else
  document.oncontextmenu 
= new function() {return true;};
}

writeStyle();
makeMenu();
document.onclick 
= hideMenu;
document.oncontextmenu 
= showMenu;
file:
//-->
</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.webjx.com/htmldata/sort/5.html
  
</div>
 
</td>
 
<td valign="top" align="right">
  
<p><input type="checkbox" name="closerm" onclick="toggleMenu(!this.checked);">关闭右键菜单</p>
 
</td>
 
</tr>
</table>
</body>
</HTML> 
【抖音爱心特效】是一种在抖音平台上流行的视频创作手法,它利用了HTML5和jQuery技术来构建一个温馨浪漫的爱心表白动画。这个特效通常用于制作情感丰富的视频,表达爱意或者增添视频的趣味性,吸引观众的注意力。在互联网时代,这种特效不仅限于抖音,也广泛应用于其他社交媒体平台,增加了互动性和视觉吸引力。 HTML5是现代网页开发的标准,提供了丰富的功能和API,使得开发者可以创建更具动态性和交互性的网页内容。在这个特效中,HTML5的Canvas元素可能是关键所在,它允许程序员通过JavaScript绘制图形,实现动态的爱心动画效果。Canvas提供了一种强大的方式来实时渲染图形,包括绘制路径、形状、图像等,非常适合创建这种动态的心形动画。 jQuery是一个流行的JavaScript库,简化了JavaScript的DOM操作,事件处理,动画效果以及Ajax交互。在制作爱心表白动画时,jQuery的动画函数如`fadeIn()`, `fadeOut()`, `animate()`等可以轻松地实现爱心的出现、消失和移动效果,让动画更加流畅和自然。同时,jQuery的事件监听功能可以让爱心在用户交互(如点击、滑动)时触发特定的动画,提升用户体验。 在【HTML5%2BjQuery制作温馨浪漫爱心表白动画特效】这个压缩包文件中,可能包含以下内容: 1. HTML文件:这是网页的基础结构,其中可能包含了Canvas元素和其他用于控制动画的HTML标记。 2. CSS文件:负责爱心动画的样式设计,包括颜色、大小、位置等视觉效果。 3. JavaScript文件:主要包含jQuery代码,用于实现动画逻辑,控制爱心的运动轨迹、速度和动画的顺序。 4. 可能还会有图片或SVG矢量图资源,用于绘制爱心图形。 学习并运用这些技术,不仅可以创建抖音上的爱心特效,还能帮助你理解Web前端开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值