自定义右键菜单 html,自定义右键菜单代码详解(转)
< 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;
}
function hidemenuie5(){
//隐藏菜单
//很简单,设置visibility为hidden就OK!
ie5menu.style.visibility = "hidden";
}
function highlightie5(){
//高亮度鼠标经过的菜单条项目
//如果鼠标经过的对象是menuitems,就重新设置背景色与前景色
//event.srcElement.className表示事件来自对象的名称,必须首先判断这个值,这很重要!
if
(event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
//将链接信息显示到状态行
//event.srcElement.url表示事件来自对象表示的链接URL
if (display_url)
window.status = event.srcElement.url;
}
}
function
lowlightie5(){
//恢复菜单条项目的正常显示
if (event.srcElement.className
== "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
}
}
function jumptoie5(){
//转到新的链接位置
if
(event.srcElement.className == "menuitems") {
//如果存在打开链接的目标窗口,就在那个窗口中打开链接
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
else
//否则,在当前窗口打开链接
window.location = event.srcElement.url;
}
}
// End -- >
< /script >
< /HEAD >
< BODY
>
< center >< h3 >在空白处点击鼠标右键,猜猜会看到什么 ?< /h3 ><
/center >< br >< br >
//定义菜单方框层ie5ment,并定义其显示样式以及相关的3个监测事件
< div id="ie5menu" class="skin0" onMouseover="highlightie5()"
onMouseout="lowlightie5()" onClick="jumptoie5();" >
//定义其中的菜单条项目
//根据你的需要,在这里添加其他的菜单条名称以及相应的链接URL
< div class="menuitems"
url="javascript:history.back();" >后退< /div >
< div
class="menuitems" url="javascript:history.forward();" >前进< /div
>
< hr >
< div class="menuitems"
url=" >ChinaByte学院< /div >
< div
class="menuitems" url=" >ChinaByte专栏天地<
/div >
< /div >
//页面加载后,首先执行的初始化脚本程序
< script
language="Javascript1.2" >
//如果当前浏览器是Internet Explorer,document.all就返回真
if (document.all && window.print) {
//选择菜单方块的显示样式
ie5menu.className = menuskin;
//重定向鼠标右键事件的处理过程为自定义程序showmenuie5
document.oncontextmenu = showmenuie5;
//重定向鼠标左键事件的处理过程为自定义程序hidemenuie5
document.body.onclick =
hidemenuie5;
}
< /script >
< /body>< /html>
演示效果
OK!看了上面代码的详细解读,你是否领会了其中的技巧?软件真是无所不能,是吗?
想要看看到底是怎样的神奇效果吗?不要犹豫,请点击这里![@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9650775/viewspace-922821/,如需转载,请注明出处,否则将追究法律责任。
自定义右键菜单 html,自定义右键菜单代码详解(转)相关推荐
- linux右键菜单颜色,Linux_自定义右键菜单代码详解, style !-- /*定义菜单 - phpStudy...
自定义右键菜单代码详解 < style > < !-- /*定义菜单方框的样式1*/ .skin0 { position:absolute; text-align:left; wid ...
- php怎么自定义设置打印区域,JavaScript_jQuery实现区域打印功能代码详解,使用CSS控制打印样式,需要设 - phpStudy...
jQuery实现区域打印功能代码详解 使用CSS控制打印样式,需要设置样式media="print",并且将页面中不需要打印的元素的样式display属性设置为none.如DEMO ...
- laravel 如何 new php 类,PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解...
<PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解>要点: 本文介绍了PHP实例:laravel通过创建自定义artisan make命令来新建类文件详 ...
- 微信公众平台万能代码详解-php语言(二)
1.基础知识在上一篇地址有讲解和图片,内容大致包括微信开发者模式后台配置.微信公众开发者文档代码详解. 2.本篇将粘贴出包括所有类型在内的消息处理办法,在开发者模式下用代码完成所有编辑模式的基础内容. ...
- Android实战:CoolWeather酷欧天气(加强版数据接口)代码详解(上)
-----------------------------------该文章代码已停更,可参考浩比天气(更新于2019/6/25)----------------------------------- ...
- 委托与事件代码详解与(Object sender,EventArgs e)详解
委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...
- Faster RCNN代码详解(五):关于检测网络(Fast RCNN)的proposal
在Faster RCNN代码详解(二):网络结构构建中介绍了Faster RCNN算法的网络结构,其中有一个用于生成ROI proposal target的自定义层,该自定义层的输出作为检测网络(Fa ...
- Qt开发技术:Q3D图表开发笔记(二):Q3DBar三维柱状图介绍、Demo以及代码详解
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130150728 各位读者,知识无穷而人力有穷,要么改需 ...
- Pytorch | yolov3原理及代码详解(二)
阅前可看: Pytorch | yolov3原理及代码详解(一) https://blog.csdn.net/qq_24739717/article/details/92399359 分析代码: ht ...
- 数学建模二:TOPSIS法(优劣解距离法) 附代码详解
数学建模二:TOPSIS法(优劣解距离法)附代码详解 TOPSIS法(优劣解距离法)用于评价类问题. 层次分析法因为受限于一致性检验指标的数量,最多只能选择15个准则或方案.同时层次分析法也难以处理已 ...
最新文章
- SpringMVC框架 学习DAY_03:@RequestMapping注解/拦截器与过滤器
- [HNOI2011]数学作业 分段矩阵乘法
- PHP 入门 - 6.面对对象
- signals系列之一——基本用法
- ZZULIOJ 1083: 数值统计(多实例测试)
- php页面审核,深入理解用PHP实现页面注册审核
- Git系列(七):使用Git管理二进制大对象
- python3.8入门教程完整版_Python 3.8从入门到精通(视频教学版)
- VMwareWorkstation下载链接
- 网络限速软件测试大乐,宽带测速谁靠谱?网速测试软件大对比
- Delphi修改FMX Label字体颜色
- 多移动机器人(阿克曼小车)在gazebo中的配置
- php文本框如何设置高度,更改文本框高度?
- Rails PayPal 支付对接
- Ubuntu18.04美化桌面
- CODEVS1296
- 我用 Python 写了一个AI 玩星际争霸2
- 并发编程之:深入解析线程池
- 浅谈中国电信出口网络的链路情况(什么是 ChinaNet,CN2,GT,GIA)
- 执行方案--交付型项目如何过渡实现项目顺利重装
热门文章
- HTTP---Post提交数据的几种类型
- 黄海导航软件测试,中国地质调查局工作标准DD2004—03地质调查GPS测量规程1范围.DOC...
- MFC计算器项目——单位换算模块
- matlab 输出数,matlab入门(变量、数值运算、输出)
- [杂谈]微软亚洲研究院院长洪小文博士写给你的新年书单
- 产业园招商方案“三部曲”
- 西门子mr图像后处理手册_西门子MRI操作手册手工版.doc
- 网络模型可视化工具 Netron
- 软件工程实验:数据库设计
- performSelector 的使用