自定義右鍵導航選單程式碼例項
右鍵選單大家都不會陌生,因為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事件冒泡一章節。
相關文章
- javascript自定義右鍵選單程式碼JavaScript
- 自定義 Windows 右鍵選單項Windows
- 遮蔽滑鼠右鍵選單例項程式碼單例
- 禁用文字選擇、右鍵選單例項程式碼單例
- 蜂巢式導航選單程式碼例項
- css簡單水平導航選單程式碼例項CSS
- javascript樹形導航選單例項程式碼JavaScript單例
- css樹形導航選單程式碼例項CSS
- 響應式導航選單程式碼例項
- 垂直手風琴導航選單程式碼例項
- 網頁頂部導航選單程式碼例項網頁
- CSS3 扇形導航選單程式碼例項CSSS3
- jQuery實現的禁用右鍵選單程式碼例項jQuery
- JavaScript自定義右鍵選單詳解JavaScript
- CSS3立體導航選單程式碼例項CSSS3
- 垂直樹形多級導航選單程式碼例項
- 垂直可伸縮的導航選單例項程式碼單例
- CSS製作橫向導航選單例項程式碼CSS單例
- 具有彈性效果的右鍵導航選單
- 側欄能夠定位的導航選單程式碼例項
- 可以固定的頂部的導航選單簡單例項程式碼單例
- js橫向滑動摺疊導航選單程式碼例項JS
- css自定義單選按鈕的樣式程式碼例項CSS
- 禁用滑鼠右鍵例項程式碼
- win10右鍵選單彈出方向怎麼自定義_win10如何自定義右鍵選單彈出方向Win10
- jquery自定義事件簡單例項程式碼jQuery事件單例
- css水平下拉導航選單程式碼例項CSS
- 純CSS實現的二級導航選單效果程式碼例項CSS
- 自定義右鍵選單實現過程詳解
- jQuery禁用滑鼠右鍵程式碼例項jQuery
- jQuery垂直可摺疊展開導航選單程式碼例項詳解jQuery
- css3實現的立體導航選單效果程式碼例項CSSS3
- css三級下拉導航選單程式碼例項CSS
- 網頁禁用滑鼠右鍵程式碼例項網頁
- win10系統刪除右鍵選單中“自定義資料夾”選項的方法Win10
- JCEF 如何修改右鍵選單項(JCEF在右鍵選單中新增開發者選項-show dev tools)dev
- 導航欄背景切換程式碼例項
- js自定義回撥函式簡單程式碼例項JS函式