[整理]网页自定义鼠标右键菜单特效

今天偶然查看一个已经关闭的网站在2003年的快照是发现的,感觉比较经典,所以整理收藏起来。

演示:http://www.yes1000.com/demo/menu/

JS文件:

程序代码
// 菜单的HTML代码
var strMenu = "
"
strMenu += "
设为首页
"
strMenu += "
加入收藏
"
strMenu += "
"
strMenu += "
网站首页
"
strMenu += "
杂七杂八
"
strMenu += "
技术文档
"
strMenu += "
网络杂谈
"
strMenu += "
原创专区
"
strMenu += "
经典资源
"
strMenu += "
"
strMenu += "
个人档案
"
strMenu += "
"
strMenu += "
和我联系
"
strMenu += "
"

// 判断客户端浏览器
function ie() {
     if (navigator.appName=="Microsoft Internet Explorer") {
         return true;
     } else {
         return false
}}

// 显示菜单
function showmenu(){
     if (ie()){
     // 找出鼠标在窗口中的位置
     var rightedge=document.body.clientWidth-event.clientX
     var bottomedge=document.body.clientHeight-event.clientY

     // 如果横向的距离小于菜单的宽度
     if (rightedge         // 将菜单向左移动到适当的位置
         menu.style.left=document.body.scrollLeft+event.clientX-menu.offsetWidth
     else
         // 否则,就在该位置显示菜单
         menu.style.left=document.body.scrollLeft+event.clientX

     // 与上面道理相同,判断纵向的位置
     if (bottomedge         menu.style.top=document.body.scrollTop+event.clientY-menu.offsetHeight
     else
         menu.style.top=document.body.scrollTop+event.clientY

         menu.style.visibility="visible"
     }
     return false
}


// 隐藏菜单
function hidemenu(){
     if (ie()) menu.style.visibility="hidden"
}

// 菜单项获得焦点时加亮显示
function highlight(){
     if (event.srcElement.className=="menuitems"){
         event.srcElement.style.backgroundColor="highlight"
         event.srcElement.style.color="highlighttext"
}}

// 菜单项失去焦点
function lowlight(){
     if (event.srcElement.className=="menuitems"){
     event.srcElement.style.backgroundColor=""
     event.srcElement.style.color="menutext"
}}

if (ie()) document.write (strMenu);
document.οncοntextmenu= showmenu
document.body.οnclick= hidemenu



必不可少的CSS:

程序代码

.clsMenu {
     BORDER-RIGHT: buttonhighlight 2px outset;PADDING-top: 5px; BORDER-TOP: buttonhighlight 2px outset; VISIBILITY: hidden; BORDER-LEFT: buttonhighlight 2px outset; WIDTH: 135px; CURSOR: default; COLOR: menutext; BORDER-BOTTOM: buttonhighlight 2px outset; POSITION: absolute; BACKGROUND-COLOR: menu
}
.menuitems {
     PADDING-RIGHT: 10px; PADDING-LEFT: 20px; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 18px; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}



JS必须在body标记内调用。

你可能感兴趣的:(JavaScript)