10
0

练习3_右键菜单.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. body,ul{
  9. margin: 0;
  10. padding: 0;
  11. }
  12. li{
  13. list-style: none;
  14. }
  15. .bg-box{
  16. background-color: rgba(0,0,0,.6);
  17. position: fixed;
  18. top:0;
  19. left: 0;
  20. right: 0;
  21. bottom: 0;
  22. display: none;
  23. }
  24. .menu-content{
  25. width: 200px;
  26. height: 300px;
  27. background-color: #fff;
  28. position: fixed;
  29. top:0;
  30. left: 0;
  31. display: none;
  32. }
  33. .menu-content li{
  34. padding: 10px 0;
  35. text-align: center;
  36. border-bottom: 1px solid black;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="bg-box"></div>
  42. <div class="menu-content">
  43. <ul>
  44. <li>菜单一</li>
  45. <li>菜单二</li>
  46. <li>菜单三</li>
  47. <li>菜单四</li>
  48. </ul>
  49. </div>
  50. <script>
  51. var oHtml = document.documentElement;
  52. var bgBox = document.getElementsByClassName("bg-box")[0];
  53. var menuContent = document.getElementsByClassName("menu-content")[0];
  54. oHtml.oncontextmenu = function(e){
  55. console.log(e);
  56. e.preventDefault();
  57. bgBox.style.display = "block";
  58. menuContent.style.display = "block";
  59. menuContent.style.top = e.clientY+"px";
  60. menuContent.style.left = e.clientX+"px";
  61. }
  62. bgBox.onclick = function(){
  63. bgBox.style.display = "none";
  64. menuContent.style.display = "none";
  65. }
  66. </script>
  67. </body>
  68. </html>