爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
JS特效
纯JS编写制作的自定义多级右键菜单
纯JS编写制作的自定义多级右键菜单
日期:2014-05-18 浏览次数:20313 次
以下是程序代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>自定义多级右键菜单</title> <style type="text/css"> html,body{height:100%;overflow:hidden;} body,div,ul,li{margin:0;padding:0;} body{font:12px/1.5 \5fae\8f6f\96c5\9ed1;} ul{list-style-type:none;} #rightMenu{position:absolute;top:-9999px;left:-9999px;} #rightMenu ul{float:left;border:1px solid #979797;background:#f1f1f1 url(http://js.fgm.cc/learn/lesson6/img/line.png) 24px 0 repeat-y;padding:2px;box-shadow:2px 2px 2px rgba(0,0,0,.6);} #rightMenu ul li{float:left;clear:both;height:24px;cursor:pointer;line-height:24px;white-space:nowrap;padding:0 30px;} #rightMenu ul li.sub{background-repeat:no-repeat;background-position:right 9px;background-image:url(http://js.fgm.cc/learn/lesson6/img/arrow.png);} #rightMenu ul li.active{background-color:#f1f3f6;border-radius:3px;border:1px solid #aecff7;height:22px;line-height:22px;background-position:right -8px;padding:0 29px;} #rightMenu ul ul{display:none;position:absolute;} </style> <script type="text/javascript"> var getOffset = { top: function (obj) { return obj.offsetTop + (obj.offsetParent ? arguments.callee(obj.offsetParent) : 0) }, left: function (obj) { return obj.offsetLeft + (obj.offsetParent ? arguments.callee(obj.offsetParent) : 0) } }; window.onload = function () { var oMenu = document.getElementById("rightMenu"); var aUl = oMenu.getElementsByTagName("ul"); var aLi = oMenu.getElementsByTagName("li"); var showTimer = hideTimer = null; var i = 0; var maxWidth = maxHeight = 0; var aDoc = [document.documentElement.offsetWidth, document.documentElement.offsetHeight]; oMenu.style.display = "none"; for (i = 0; i < aLi.length; i++) { //为含有子菜单的li加上箭头 aLi[i].getElementsByTagName("ul")[0] && (aLi[i].className = "sub"); //鼠标移入 aLi[i].onmouseover = function () { var oThis = this; var oUl = oThis.getElementsByTagName("ul"); //鼠标移入样式 oThis.className += " active"; //显示子菜单 if (oUl[0]) { clearTimeout(hideTimer); showTimer = setTimeout(function () { for (i = 0; i < oThis.parentNode.children.length; i++) { oThis.parentNode.children[i].getElementsByTagName("ul")[0] && (oThis.parentNode.children[i].getElementsByTagName("ul")[0].style.display = "none"); } oUl[0].style.display = "block"; oUl[0].style.top = oThis.offsetTop + "px"; oUl[0].style.left = oThis.offsetWidth + "px"; setWidth(oUl[0]); //最大显示范围 maxWidth = aDoc[0] - oUl[0].offsetWidth; maxHeight = aDoc[1] - oUl[0].offsetHeight; //防止溢出 maxWidth < getOffset.left(oUl[0]) && (oUl[0].style.left = -oUl[0].clientWidth + "px"); maxHeight < getOffset.top(oUl[0]) && (oUl[0].style.top = -oUl[0].clientHeight + oThis.offsetTop + oThis.clientHeight + "px") },300); } }; //鼠标移出 aLi[i].onmouseout = function () { var oThis = this; var oUl = oThis.getElementsByTagName("ul"); //鼠标移出样式 oThis.className = oThis.className.replace(/\s?active/,""); clearTimeout(showTimer); hideTimer = setTimeout(function () { for (i = 0; i < oThis.parentNode.children.length; i++) { oThis.parentNode.children[i].getElementsByTagName("ul")[0] && (oThis.pa
上一篇:狡猾的按钮特效
下一篇:js左侧三级菜单导航代码
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
窗口期:还有哪些互联网公司可能今年IPO?
传苹果已告知鸿海:两款新iPhone下月发货
腾讯微信昨晚再现大规模故障 多地受到影响
传诺基亚5月14日发布会推出Lumia 950
为啥苹果定要出廉价iPhone?都是安卓逼的
说说这一个月的赌球输了多少
传陌陌或12月赴美IPO 估值约30亿美元
创维冲击500亿梦想:转型硬件和内容供应商
墨迹也要做硬件,工具类应用如何“变异”的
推荐阅读
更多>
网络旅行游记被曝插入"软广告" 个别人士月入数万
苹果iWatch或使用量产液态金属 将取代玻璃
唯品会股价飙升 引天猫当当京东进军闪购
易迅大众点评缩水执行“七天后悔权”被约谈
中移动“重启”自有品牌手机成败难料
App Store严禁推送广告 运用面临大清洗
去看看外面的世界吧!别窝里斗了,中国在线旅游商们
黑莓高管:黑莓能作为家“小众公司”活下来
小米发明的“低价抢购”模式还能管用多久?
流浪汉高考状元终于找到工作:月薪3000做程序员很满意
论:三大运营商运用商店逆袭并非不能够
这一次,微软将带给我们什么惊喜?
Google要求硬件厂商捆绑预装应用的协议曝光
虚拟运营市场躁动:山西煤老板兴味浓重
公信力消失:马航事件社交媒体传播之痛
迅雷向美SEC提交IPO招股书:拟最多筹资1亿美元
华为野心布局未来:投资研发5G对赌1毫秒连接
京东联席董事长赵国庆上市前夕离职
屌丝程序猿发家机会来了 用大数据来做生意!
八位知名设计师评iOS7:新鲜但复杂