站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题自定义右键菜单代码详解(一)

自定义右键菜单代码详解(一)

摘要: 自定义右键菜单代码详解(一)
< style >
< !--
/*定义菜单方框的样式1*/
.skin0 {
position:absolute;
text-align:left;
width:200px; /*宽度,可以根据实际的菜单项目名称的长度进行适当地调整*/
border:2px solid black;
background-color:menu; /*菜单的背景颜色方案,这里选择了系统默认的菜单颜色*/
font-family:Verdana;
line-height:20px;
cursor:default;
visibility:hidden; /*初始时,设置为不可见*/
}
/*定义菜单方框的样式2*/
.skin1 {
cursor:default;
font:menutext;
position:absolute;
text-align:left;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
width:200px; /*宽度,可以根据实际的菜单项目名称的长度进行适当地调整*/
background-color:menu; /*菜单的背景颜色方案,这里选择了系统默认的菜单颜色*/
border:1 solid buttonface;
visibility:hidden; /*初始时,设置为不可见*/
border:2 outset buttonhighlight;
}

/*定义菜单条的显示样式*/
.menuitems {
padding-left:15px; /*左间距*/
padding-right:10px; /*右间距*/
}
-- >
< /style >

< SCRIPT LANGUAGE=JavaScript1.2 >

< !--
//定义菜单显示的外观,可以从上面定义的2种格式中选择其一
var menuskin = skin1;
//是否在浏览器窗口的状态行中显示菜单项目条对应的链接字符串
var display_url = 0;

function showmenuie5() {
//显示菜单

//获取当前鼠标右键按下后的位置,据此定义菜单显示的位置
var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;

//如果从鼠标位置到窗口右边的空间小于菜单的宽度,就定位菜单的左坐标(Left)
为当前鼠标位置向左一个菜单宽度
if (rightedge < ie5menu.offsetWidth)
ie5menu.style.left = document.body.scrollLeft + event.clientX - ie5menu.offsetWidth;
else
//否则,就定位菜单的左坐标为当前鼠标位置
ie5menu.style.left = document.body.scrollLeft + event.clientX;

//如果从鼠标位置到窗口下边的空间小于菜单的高度,就定位菜单的上坐标(Top)
为当前鼠标位置向上一个菜单高度
if (bottomedge < ie5menu.offsetHeight)
ie5menu.style.top = document.body.scrollTop + event.clientY - ie5menu.offsetHeight;
else
//否则,就定位菜单的上坐标为当前鼠标位置
ie5menu.style.top = document.body.scrollTop + event.clientY;

//设置菜单可见
ie5menu.style.visibility = visible;
return false;
}

↑返回目录
前一篇: 自定义右键菜单代码详解(二)
后一篇: 自定义右键菜单