亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery實現自定義右鍵菜單的樹狀菜單效果

2019-11-20 11:37:21
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現自定義右鍵菜單的樹狀菜單效果。分享給大家供大家參考。具體如下:

這是一款基于jQuery的自定義右鍵菜單,在樹狀結構的子節點(下級沒有節點)上單擊右鍵才會彈出自定義菜單,而且菜單是自動根據鼠標位置來定位的。當鼠標在菜單以外的任意空白處單擊一下后會自動消失。這里想特別說明一點所謂的“菜單以外”,可以有兩種解剖方式――1、除了鼠標在菜單區域內的所有位置;2、如下圖所示的A、B、C、D四個區域。顯然用第一種方法來剖析會更簡單直接一點。源碼中的!IsInArea就表示此方法。

運行效果截圖如下:

在線演示地址如下:

http://demo.VeVB.COm/js/2015/jquery-zdy-right-button-menu-style-codes/

具體代碼如下:

<!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=gb2312" /><title>jQuery自定義右鍵菜單</title><style type="text/css">body {  font-size: 12px;  margin: 0px;  padding: 0px;}form,div,ul,li {  margin: 0px;  padding: 0px;  list-style-type: none;  overflow: hidden;}h1,h2,h3,h4,h5 {  font-size: 12px;  margin: 0px;  padding: 0px;}a {  text-decoration: none;}.layout {  width: 993px;  clear: both;  margin-right: auto;  margin-left: auto;  border-top-width: 0px;  border-right-width: 4px;  border-bottom-width: 0px;  border-left-width: 4px;  border-top-style: solid;  border-right-style: solid;  border-bottom-style: solid;  border-left-style: solid;  border-top-color: #000000;  border-right-color: #000000;  border-bottom-color: #000000;  border-left-color: #000000;  overflow: hidden;}.layout2 {  width: 942px;  margin-right: auto;  margin-left: auto;}.Content {  background-color: #376285;}.contentBg {  background-color: #173043;}div, ul, li { margin: 0px; padding: 0px; list-style-type: none;}body { background-color: #FFFFFF; font-size: 12px; margin: 0px; padding: 0px;}#TreeList { background-color: #FFFFFF; margin-top: 6px; margin-right: 9px; margin-bottom: 6px; margin-left: 9px; border: 1px solid #5d7b96; padding-bottom: 6px; padding-left: 6px;}#TreeList .mouseOver { background-color: #FAF3E2;}#TreeList .ParentNode { line-height: 21px; height: 21px; margin-top: 2px; clear: both;}#TreeList .ChildNode { background-image: url(images/Sys_ModuleIcos.png); background-position: 15px -58px; padding-left: 39px; line-height: 21px; background-repeat: no-repeat; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #aabdce; border-right-color: #aabdce; border-bottom-color: #aabdce; border-left-color: #aabdce; cursor: default; clear: both; height: 21px; color: #314f6a;}#TreeList .title { float: left;}#TreeList .input { font-size: 12px; line-height: 18px; color: #FFF; height: 16px; background-color: #3F6B8F; width: 120px; text-align: center; margin-top: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #1F3547; border-right-color: #FFF; border-bottom-color: #FFF; border-left-color: #1F3547; float: left;}#TreeList .editBT { float: left; overflow: visible;}#TreeList .editBT .ok { background-image: url(images/Sys_ModuleIcos.png); background-repeat: no-repeat; background-position: 0px -89px; height: 13px; width: 12px; float: left; margin-left: 3px; padding: 0px; margin-top: 3px; cursor: pointer;}#TreeList .editBT .cannel { background-image: url(images/Sys_ModuleIcos.png); background-repeat: no-repeat; background-position: 0px -120px; float: left; height: 13px; width: 12px; margin-left: 3px; padding: 0px; margin-top: 3px; cursor: pointer;}#TreeList .editArea { float: right; color: #C3C3C3; cursor: pointer; margin-right: 6px;}#TreeList .editArea span { margin: 2px;}#TreeList .editArea .mouseOver { color: #BD4B00; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #C9925A; border-right-color: #E6CFBB; border-bottom-color: #E6CFBB; border-left-color: #C9925A; background-color: #FFFFFF; margin: 0px; padding: 1px;}#TreeList .ParentNode .title { color: #314f6a; cursor: pointer; background-image: url(images/Sys_ModuleIcos.png); background-repeat: no-repeat; padding-left: 39px;}#TreeList .ParentNode.show .title { font-weight: bold; background-position: 3px -27px;}#TreeList .ParentNode.hidden .title { background-position: 3px 4px;}#TreeList .ParentNode .editArea { color: #999; }#TreeList .ParentNode.show { background-color: #d1dfeb; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #5d7b96; border-right-color: #5d7b96; border-bottom-color: #5d7b96; border-left-color: #5d7b96;}#TreeList .ParentNode.hidden { border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-color: #aabdce; border-right-color: #aabdce; border-bottom-color: #aabdce; border-left-color: #aabdce;}#TreeList .Row { clear: both; margin-left: 24px; background-image: url(images/Sys_ModuleIcos2.png); background-repeat: repeat-y; background-position: 7px 0px;}h1 { font-size: 12px; line-height: 24px; color: #FFF; background-color: #396384; text-align: center; margin: 0px; padding: 0px;}#OpLimits_Menu { position: absolute; width: 70px; cursor: default; filter: Alpha(Opacity=90);}#OpLimits_Menu ul { background-color: #d5effc; border: 1px solid #3e8dad;}#OpLimits_Menu ul li { line-height: 18px; color: #496D81; text-align: center; letter-spacing: 0.3em; height: 18px; cursor: pointer;}#OpLimits_Menu ul .onmouse { background-image: url(images/bt1.gif); background-repeat: repeat-x; color: #324A58;}</style><script type="text/javascript" src="jquery-1.6.2.min.js"></script><script type="text/javascript">var Mouse_X,Mouse_Y;var TMenu_X0,TMenu_Y0;var MousePostion;$(document).ready(function(e) { var PrentNodeClass = 'ParentNode';//父節點的標識 var ChildNodeClass = 'ChildNode';//沒有下級子節點的標識 var ChildrenListClass = 'Row';//子節點被包著的外層樣式 var TModuleNode,TChildNode,TModuleNodeName; TModuleNode = $('#TreeList .'+PrentNodeClass);//頂層節點 TChildNode = $('.'+ChildNodeClass); TModuleNodeName = $('#TreeList .' + PrentNodeClass + ' .title');//頂層節點名稱 function TNode_MouseDown(e,Obj){ if(e.which==3){ if(Obj.hasClass(ChildNodeClass)){//沒有子節點才需要有權限設置菜單 MousePostion(e,1); with($('#OpLimits_Menu')){  css('left',Mouse_X);  css('top',Mouse_Y);  css('display','block'); } } } } //-------------禁用系統的右鍵功能----------- $(document).bind('contextmenu',function(e){  return false;  });  var LimitsMenu_Width,LimitsMenu_Height; LimitsMenu_Width = $('#OpLimits_Menu').width(); LimitsMenu_Height = $('#OpLimits_Menu').height(); var LimitsSetting_Width,LimitsSetting_Height; LimitsSetting_Width = $('#OpLimitsSetting').width(); LimitsSetting_Height = $('#OpLimitsSetting').height(); TChildNode.mousedown(function(e){ TNode_MouseDown(e,$(this)); }); $(this).mousedown(function(e){ if(Mouse_X && Mouse_Y){ MousePostion(e,0); var IsInArea = Mouse_X>TMenu_X0 && Mouse_X<TMenu_X0+LimitsMenu_Width && Mouse_Y>TMenu_Y0 && Mouse_Y<TMenu_Y0+LimitsMenu_Height; if(e.which==1 && !IsInArea){  with($('#OpLimits_Menu')){  css('display','none');  } } } }); //----------------------------------------- //計算坐標函數 MousePostion = function(e,tag){ mouse = new MouseEvent(e); Mouse_X = mouse.x; Mouse_Y = mouse.y; if(tag==1){ TMenu_X0 = Mouse_X; TMenu_Y0 = Mouse_Y; } } //獲取鼠標坐標函數 var MouseEvent = function(e) { this.x = e.pageX this.y = e.pageY } //----------------------------------------  with($('#OpLimits_Menu li')){ mouseover(function(){ $(this).addClass('onmouse'); }); mouseout(function(){ $(this).removeClass('onmouse'); }); click(function(){  with($('#OpLimits_Menu')){ css('display','none'); } }); }});</script></head><body><div id="TreeList"> <div class="ParentNode show">  <div class="title">酷站欣賞</div> </div> <div class="Row">  <div class="ChildNode">  <div class="title">歐美酷站</div>  </div>  <div class="ChildNode">  <div class="title">日韓酷站</div>  </div>  <div class="ChildNode">  <div class="title">國內酷站</div>  </div>  <div class="ChildNode">  <div class="title">婚慶攝影</div>  </div>  <div class="ChildNode">  <div class="title">餐飲食品</div>  </div> </div></div><div id="OpLimits_Menu" style="display:none"> <h1>權限設置</h1> <ul>  <li value="1">查看</li>  <li value="2">添加</li>  <li value="3">修改</li>  <li value="4">刪除</li> </ul></div></body></html>

希望本文所述對大家的jquery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论在线a中文字幕| 成人免费高清完整版在线观看| 亚洲女同精品视频| 在线精品播放av| 亚洲视频欧美视频| 久久精品99久久香蕉国产色戒| 精品视频久久久久久| 国产在线视频91| 国产精品亚洲美女av网站| 成人免费网视频| 亚洲自拍偷拍在线| www.久久色.com| 久久久亚洲精选| 日韩在线视频观看| 久久久精品中文字幕| 国产精品成熟老女人| 在线观看日韩专区| 国产精品福利片| 国产欧美日韩高清| 亚洲国产三级网| 精品久久久久久久久国产字幕| 懂色aⅴ精品一区二区三区蜜月| 伊人男人综合视频网| 色噜噜狠狠色综合网图区| 中文字幕国产亚洲2019| 97免费中文视频在线观看| 欧美午夜美女看片| 在线视频免费一区二区| 国产精品观看在线亚洲人成网| 国产精品黄页免费高清在线观看| 欧美激情免费观看| 国外成人免费在线播放| 亚洲高清一区二| 欧美国产日韩一区二区在线观看| 日韩免费精品视频| 91精品久久久久| 亚洲精品第一页| 久久夜色精品国产欧美乱| 日韩hd视频在线观看| 久久亚洲国产精品成人av秋霞| 国产精品久久一区| 亚洲精品www久久久久久广东| 久久精品中文字幕一区| 亚洲欧美制服综合另类| 日韩欧美在线免费观看| 国产日韩专区在线| 正在播放国产一区| 96sao精品视频在线观看| 日韩高清电影好看的电视剧电影| 欧美日韩一区二区三区在线免费观看| 亚洲一区二区久久久久久| 欧洲美女7788成人免费视频| 久久亚洲精品成人| 久久久最新网址| 一区二区日韩精品| 欧美一级片在线播放| 亚洲最新av在线| 国产精品 欧美在线| 国产精品88a∨| 日韩欧美在线视频免费观看| 日韩欧美大尺度| 爽爽爽爽爽爽爽成人免费观看| 综合国产在线视频| 国产午夜精品免费一区二区三区| 青青草国产精品一区二区| 91精品国产成人| 亚洲欧美制服另类日韩| 久久久久久网站| 久久精品99无色码中文字幕| 91av福利视频| 69av成年福利视频| 高清亚洲成在人网站天堂| 亚洲精品美女在线| 欧美中文在线免费| 精品国产一区二区三区久久狼黑人| 欧美成人精品激情在线观看| 欧美激情一区二区三区高清视频| 青草青草久热精品视频在线网站| 中文字幕日韩精品有码视频| 亚洲精品大尺度| 欧美精品videosex极品1| 久久久久亚洲精品成人网小说| www.99久久热国产日韩欧美.com| 日韩a**站在线观看| 最近中文字幕2019免费| 国产一区二区av| 亚洲免费中文字幕| 伊人久久久久久久久久| 欧美www视频在线观看| 国产一区二区三区在线看| 欧美日韩福利视频| 91精品久久久久久久久不口人| 午夜精品一区二区三区在线视| 亚洲精品xxxx| 中文字幕国内精品| 久久久久久久久久久久久久久久久久av| 欧美黑人一区二区三区| 亚洲国产99精品国自产| 亚洲福利在线视频| 97香蕉超级碰碰久久免费软件| 欧美日韩国产专区| 亚洲国产中文字幕久久网| 亚洲精品乱码久久久久久按摩观| 日韩高清有码在线| 精品视频在线播放免| 国产啪精品视频网站| 久久久欧美一区二区| 国产精品极品尤物在线观看| 亚洲欧洲激情在线| 4438全国亚洲精品在线观看视频| 亚洲人成电影在线观看天堂色| 欧美又大又硬又粗bbbbb| 国产亚洲美女精品久久久| 色视频www在线播放国产成人| 国产激情久久久| 中文字幕免费精品一区高清| 久久福利视频导航| 国产精品影院在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲一区二区中文| 国产成人avxxxxx在线看| 亚洲女人初尝黑人巨大| 欧美另类极品videosbestfree| 日本精品一区二区三区在线播放视频| 久久成人国产精品| 91性高湖久久久久久久久_久久99| 日本久久久a级免费| 国产精品国语对白| 亚洲综合最新在线| 日韩在线视频导航| 国产精品久久在线观看| 久久人人爽人人爽人人片av高清| 国产精品精品一区二区三区午夜版| 成人精品久久久| 国产一区二区三区日韩欧美| 欧美午夜电影在线| 成人妇女淫片aaaa视频| 日韩在线视频中文字幕| 91精品国产九九九久久久亚洲| 成人精品在线观看| 久久深夜福利免费观看| 日韩中文字幕在线播放| 深夜福利一区二区| 国产精品99久久99久久久二8| 亚洲成人xxx| 久久中文字幕国产| 国产精品av在线播放| 国产精品视频白浆免费视频| 亚洲成人精品在线| 国产一区视频在线播放| 日韩中文字幕网址| 色爱av美腿丝袜综合粉嫩av| 亚洲色图日韩av| 久久夜色精品国产| 亚洲精品视频播放| 欧美另类极品videosbest最新版本| 一区二区三区视频免费在线观看| 国产午夜精品免费一区二区三区| 亚洲国产私拍精品国模在线观看| 热久久免费视频精品| 欧美激情国内偷拍| 浅井舞香一区二区| 成人精品一区二区三区电影免费| 国产三级精品网站|