自定義右鍵導航選單程式碼例項
右鍵選單大家都不會陌生,因為windows作業系統有大量應用,幾乎每天都會使用,但是自帶的選單也許不能夠滿足我們的需要,所以要進行自定義才能夠滿足實際應用,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{font-size:12px} #mask{ position:absolute; left:0; top:0; z-index:9000; display:block; } #myMenu{ position:absolute; display:none; z-index:9999; background:yellow; border:1px solid; width:70px; height:120px; } #textbox{ background:orange; width:380px; border:2px solid; } img{ height:30px; width:30px; } td{ font-size:20px; cursor:pointer; } a{ text-decoration:none; color:black; } a: hover{ color:white; background:black; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> var windowwidth; var windowheight; var checkmenu; $(window).ready(function(){ $('#myMenu').hide(); $('#textbox').bind("contextmenu",function(e){ windowwidth = $(window).width(); windowheight = $(window).height(); checkmenu = 1; $('#mask').css({ 'height': windowheight, 'width': windowwidth }); $('#myMenu').show(500); $('#myMenu').css({ 'top':e.pageY+'px', 'left':e.pageX+'px' }); return false; }); $('#mask').click(function(){ $(this).height(0); $(this).width(0); $('#myMenu').hide(500); checkmenu = 0; return false; }); $('#mask').bind("contextmenu",function(){ $(this).height(0); $(this).width(0); $('#myMenu').hide(500); checkmenu = 0; return false; }); $(window).resize(function(){ if(checkmenu == 1) { windowwidth = $(window).width(); windowheight = $(window).height(); $('#mask').css({ 'height': windowheight, 'width': windowwidth, }); } }); }); </script> </head> <body > <div id="myMenu" > <table> <tr> <td><a href="#">js教程</a></td> </tr> <tr> <td><a href="#">jQuery教程</a></td> </tr> <tr> <td><a href="#">css教程</a></td> </tr> <tr> <td><a href="#">螞蟻部落</a></td> </tr> </table> </div> <div id="mask"> </div> <div id="textbox"> <p>右擊此區域可以檢視右鍵選單<p/> </div> </body> </html>
以上程式碼實現了我們的要求,當右擊指定區域的時候能夠彈出自定義選單,下面介紹一下實現過程:
一.程式碼註釋:
1.var windowwidth,宣告一個變數用來儲存視窗的寬度。
2.var windowheight,宣告一個變數用來儲存視窗的高度。
3.var checkmenu,宣告一個用來標識自定選單是否已經彈出。
4.$(window).ready(function(){}),當文件結構結構完全載入完畢再去執行函式中的程式碼。
5.$('#myMenu').hide(),預設情況下自定義選單是處於隱藏狀態的。
6.$('#textbox').bind("contextmenu",function(e){}),為textbox元素註冊右鍵選單事件。
7.windowwidth=$(window).width(),將視窗的寬度存入變數windowwidth。
8.windowheight=$(window).height(),將視窗的高度存入變數windowheight。
9.checkmenu=1,將此變數的值設定為1,說明自定義右鍵選單已經彈出。
10.$('#mask').css({'height': windowheight,'width': windowwidth}),設定一個全屏的遮罩層,這個遮罩層的作用是為讓右鍵功能僅限於指定元素,防止出現wnindow自定義的右鍵選單。
11.$('#myMenu').show(500),以動畫方式顯示右鍵選單。
12.$('#myMenu').css({'top':e.pageY+'px','left':e.pageX+'px'}),設定右鍵選單的左上角的座標。
13.return false,這個程式碼非常的重要,不但可以阻止當前元素的預設行為,也就是彈出window的選單,也可以阻止事件冒泡,防止父級元素出現winow自帶的選單。
14.$('#mask').click(function(){}),為遮罩層註冊click事件處理函式,此事件處理函式的作用是將遮罩層尺寸設定為0,並且隱藏右鍵選單,並將標識設定為0。
15.$('#mask').bind("contextmenu",function(){}),同樣註冊右鍵事件,但是這裡是為了防止window選單彈出,好隱藏自定義選單。
16.$(window).resize(function(){}),註冊resize事件處理函式,此事件會在調整視窗大小時觸發。
17.if(checkmenu==1) ,如果自定義選單已經彈出。
18.windowwidth=$(window).width(),獲取視窗的大小並賦值個變數windowwidth。
19.windowheight=$(window).height(),道理同上。
20.$('#mask').css({'height': windowheight,'width': windowwidth,}),重新設定遮罩層的尺寸,否則調整視窗大小的時候可能會出現滾動條。
二.相關閱讀:
1.hide()函式可以參閱jQuery hide()一章節。
2.width()函式可以參閱jQuery width()一章節。
3.css()函式可以參閱jQuery css()一章節。
4.show()函式可以參閱jQuery show()一章節。
5.pageY屬性可以參閱jQuery event.pageY一章節。
6.事件冒泡可以參閱什麼是jquery事件冒泡一章節。
相關文章
- 自定義 Windows 右鍵選單項Windows
- 自定義右鍵選單
- CSS3立體導航選單程式碼例項CSSS3
- win10右鍵選單彈出方向怎麼自定義_win10如何自定義右鍵選單彈出方向Win10
- jq+css+html打造下拉導航選單例項CSSHTML單例
- win10系統刪除右鍵選單中“自定義資料夾”選項的方法Win10
- html 仿百度百科導航下拉選單功能例項程式碼介紹HTML
- svelte自定義元件|導航條Navbar及選單欄Tabbar元件tabBar
- windows11 始終右鍵選單顯示更多選項/右鍵選單返回舊版Windows
- 微信小程式自定義導航欄微信小程式
- flutter 自定義tab導航-頂部導航-底部導航Flutter
- uniapp自定義導航欄APP
- javascript右鍵選單JavaScript
- 管理右鍵選單
- win10滑鼠右鍵選單欄怎麼改 刪除右鍵選單欄無用選項的方法Win10
- PbootCMS導航選單-導航選單的使用教程boot
- mpvue中小程式自定義導航元件開發指南Vue元件
- win10右鍵skydrive pro選項怎麼刪除_win10右鍵選單中skydrive pro選項的刪除方法Win10
- 【C#】【DevExpress】自定義單元格右鍵選單,去除單元格編輯時,載入系統的預設選單C#devExpress
- 小程式自定義導航欄適配(完美版)
- 微信小程式自定義導航欄適配指南微信小程式
- Qt右鍵選單實現QT
- Windows10系統右鍵選單中的“radeon”選項的方法Windows
- 如何給頁面新增追加右鍵選單(原右鍵選單功能保持不變)
- 純css tab選項卡程式碼例項CSS
- jQuery tab選項卡效果程式碼例項jQuery
- 批處理檔案來實現右鍵 DLL 註冊的功能,實現右鍵選單中的自定義 DLL 註冊功能,你需要編輯登錄檔來新增相應的登錄檔項,PowerShell 指令碼,用於註冊 DLL 並將其與右鍵選單項關聯起來:指令碼
- CSS垂直導航選單CSS
- 你還在發愁小程式自定義導航欄嗎?
- 如何管理win10右鍵新建選單_win10如何清理右鍵新建選單Win10
- 新增右鍵選單: SourceTree 右鍵開啟當前目錄
- AM右鍵新易髮選單重建bat指令碼BAT指令碼
- win10系統怎麼在右鍵選單新增BitLocker加密選項Win10加密
- jq模仿右鍵觸發選單
- Windows如何新增右鍵新建選單Windows
- CSS jquery圓角帶陰影的導航選單程式碼分享CSSjQuery
- Win10系統下將右鍵選單WinRAR選項合併成一個選項的方法Win10
- Win10系統下怎麼將右鍵選單中的WinRAR選項合成一個選項Win10
- 微信小程式下拉選單自定義元件微信小程式元件