Blogger Information
Blog 12
fans 0
comment 0
visits 11011
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
下拉菜单及相关基础知识点汇总
amin
Original
719 people have browsed it

下拉菜单

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport"
  6. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8. <title>下拉菜单</title>
  9. <style>
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. box-sizing: border-box;
  14. }
  15. a {
  16. color: #fff;
  17. text-decoration: none;
  18. }
  19. .clearfix{
  20. zoom:1;
  21. }
  22. .clearfix:after{
  23. content: '';
  24. clear: both;
  25. width: 0;
  26. height: 0;
  27. visibility: hidden;
  28. display: block;
  29. }
  30. li{
  31. list-style: none;
  32. }
  33. nav{
  34. background: #000000;
  35. }
  36. nav>ul>li{
  37. float: left;
  38. width: 200px;
  39. padding: 10px 0;
  40. text-align: center;
  41. }
  42. nav>ul>li{
  43. position: relative;
  44. }
  45. nav>ul>li>ul{
  46. display: none;
  47. position: absolute;
  48. /*z-index: -1;*/
  49. background: #f1f1f1;
  50. top: 40px;
  51. width: 100%;
  52. }
  53. nav>ul>li>ul>li{
  54. padding: 5px 10px;
  55. text-align: center;
  56. }
  57. nav>ul>li>ul a{
  58. color:#000;
  59. }
  60. </style>
  61. </head>
  62. <body>
  63. <nav class="clearfix">
  64. <ul>
  65. <li>
  66. <a href="">一级菜单1</a>
  67. <ul>
  68. <li><a href="">二级菜单1</a></li>
  69. <li><a href="">二级菜单1</a></li>
  70. <li><a href="">二级菜单1</a></li>
  71. <li><a href="">二级菜单1</a></li>
  72. </ul>
  73. </li>
  74. <li>
  75. <a href="">一级菜单2</a>
  76. <ul>
  77. <li><a href="">二级菜单2</a></li>
  78. <li><a href="">二级菜单2</a></li>
  79. <li><a href="">二级菜单2</a></li>
  80. <li><a href="">二级菜单2</a></li>
  81. </ul>
  82. </li>
  83. <li>
  84. <a href="">一级菜单3</a>
  85. </li>
  86. <li>
  87. <a href="">一级菜单4</a>
  88. <ul>
  89. <li><a href="">二级菜单4</a></li>
  90. <li><a href="">二级菜单4</a></li>
  91. <li><a href="">二级菜单4</a></li>
  92. <li><a href="">二级菜单4</a></li>
  93. </ul>
  94. </li>
  95. </ul>
  96. </nav>
  97. <script>
  98. const navs = document.querySelectorAll("nav>ul>li");
  99. // console.log(navs);
  100. //forEach() 用于调用数组的每个元素并传递给函数
  101. navs.forEach(function (nav) {
  102. nav.addEventListener("mouseover", showMenu);
  103. nav.addEventListener("mouseout", hideMenu);
  104. });
  105. //显示二级菜单
  106. function showMenu(ev){
  107. if( ev.target.nodeName === "A" && ev.target.nextElementSibling !== null){
  108. ev.target.nextElementSibling.style.display = "block";
  109. }
  110. }
  111. //关闭二级菜单
  112. function hideMenu(ev) {
  113. if( ev.target.nodeName === "A" && ev.target.nextElementSibling !== null){
  114. ev.target.nextElementSibling.style.display = "none";
  115. }
  116. // console.log(ev.children)
  117. // if(ev.target.children.length > 1) {
  118. // console.log(ev.target);
  119. // ev.target.children[1].style.display = "none";
  120. // }
  121. }
  122. </script>
  123. </body>
  124. </html>

引入外联样式的三种方法

  1. 1、<style>直接写入样式</style>
  2. 2、<link rel="stylesheet" href="style.css">
  3. 3
  4. <style>
  5. @import url("style.css");
  6. @import "style.css";
  7. </style>

元素a的几种主要用法

  1. <!--打开一个网页-->
  2. <a href="https://www.baidu.com/">百度</a>
  3. <!--下载文件-->
  4. <a href="XXX.zip">下载该文档</a>
  5. <!--发邮件-->
  6. <a href="mailto: 111111@qq.com">点我发邮件</a>
  7. <!--打电话-->
  8. <a href="tel: 18055553333">18055553333</a>
  9. <!--锚点-->
  10. <div id="top">111</div>
  11. <a href="#top">置顶</a>

a标签的几种常用属性

  1. _blank :在新窗口中打开被链接文档。
  2. _self :默认。在相同的框架中打开被链接文档。
  3. _parent :在父框架集中打开被链接文档。
  4. _top :在整个窗口中打开被链接文档。
  5. framename :在指定的框架中打开被链接文档。

元素的定位

  1. position:元素默认在页面中按文档流的顺序进行排列
  2. static 默认值。没有定位,元素出现在正常的流中。
  3. absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
  4. fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
  5. relative 生成相对定位的元素,相对于其正常位置进行定位。
  6. inherit 规定应该从父元素继承 position 属性的值。

事件监听器(监听函数)

  1. <button>按钮1</button>
  2. <button>按钮2</button>
  3. <button class="button">按钮3</button>
  4. <script>
  5. //获取满足条件的所有元素 document.querySelectorAll("tag") document.querySelectorAll(".class") document.querySelectorAll("#id")
  6. const btn = document.querySelectorAll('button');
  7. console.log(btn);//NodeList(2) [button, button]
  8. //获取满足调价的第一个元素
  9. const btn1 = document.querySelector('button');
  10. console.log(btn1);//<button>按钮1</button>
  11. //addEventListener(事件类型,事件方法); event:事件 listener:监听(倾听者)
  12. //可以给一个元素多次添加同一个事件,并控制事件触发的阶段
  13. const btn2 = document.querySelector(".button");
  14. btn2.addEventListener("click", function(e){
  15. console.log(e.target);
  16. });
  17. btn2.addEventListener("click", function(e){
  18. console.log("111");
  19. })
  20. </script>

事件冒泡、事件捕获

  1. 冒泡:由内层向外层层层触发,false可省略
  2. e.addEventListener("click", fun, false);
  3. 捕获;由外层向内层层层触发
  4. e.addEventListener("click", fun, true);

事件委托

  1. <ul class="weituo">
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. </ul>
  9. <script>
  10. // 事件代理: 用父级代理所有子元素以及更下一级的元素上的同名事件
  11. document.querySelector(".weituo").addEventListener("click", function(ev){
  12. console.log(ev.target);//<li>... 返回的是当前正在触发事件的元素
  13. console.log(ev.currentTarget);//<ul>... 返回的是事件绑定者
  14. })
  15. </script>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:事件的知识点其实就那几个, 背也背下来了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post