下拉菜单

案例分析:

1.导航栏里面的 li 都要有鼠标经过的效果,所以需要循环注册鼠标事件;

2.核心原理:当鼠标经过 li 里面的第二个孩子 ul 显示,当鼠标离开,则 ul 隐藏;

效果展示:

代码:

  1 <!DOCTYPE html>
  2 <html lang="en">
  3     <head>
  4         <meta charset="UTF-8">
  5         <title>下拉菜单</title>
  6         <style>
  7             * {
  8                 margin: 0;
  9                 padding: 0;
 10             }
 11             li {
 12                 list-style-type: none;
 13             }
 14             a {
 15                 text-decoration: none;
 16                 font-size: 14px;
 17             }
 18             .nav {
 19                 width: 300px;
 20                 margin: 100px auto;
 21             } 
 22             .nav>li {
 23                 position: relative;
 24                 float: left;
 25                 width: 80px;
 26                 height: 41px;
 27                 text-align: center;
 28             }
 29             
 30             .nav li a {
 31                 display: block;
 32                 width: 100%;
 33                 height: 100%;
 34                 line-height: 41px;
 35                 color: #333;
 36             }
 37             
 38             .nav>li>a:hover {
 39                 background-color: #eee;
 40             }
 41             
 42             .nav ul {
 43                 display: none;
 44                 position: absolute;
 45                 top: 41px;
 46                 left: 0;
 47                 width: 100%;
 48                 border-left: 1px solid #FECC5B;
 49                 border-right: 1px solid #FECC5B;
 50             }
 51             
 52             .nav ul li {
 53                 border-bottom: 1px solid #FECC5B;
 54             }
 55             
 56             .nav ul li a:hover {
 57                 background-color: #FFF5DA;
 58             }
 59         </style>
 60     </head>
 61     <body>
 62         <ul class="nav">
 63             <li>
 64                 <a href="">微信</a>
 65                 <ul>
 66                     <li><a href="">登录</a></li>
 67                     <li><a href="">注册</a></li>
 68                     <li><a href="">退出</a></li>
 69                 </ul>
 70             </li>
 71             <li>
 72                 <a href="">QQ</a>
 73                 <ul>
 74                     <li><a href="">登录</a></li>
 75                     <li><a href="">注册</a></li>
 76                     <li><a href="">退出</a></li>
 77                 </ul>
 78             </li>
 79             <li>
 80                 <a href="">微博</a>
 81                 <ul>
 82                     <li><a href="">登录</a></li>
 83                     <li><a href="">注册</a></li>
 84                     <li><a href="">退出</a></li>
 85                 </ul>
 86             </li>
 87         </ul>
 88         <script>
 89             //获取元素
 90             var nav=document.querySelector(".nav");
 91             var lis=nav.children;  //得到四个小 li
 92             for(var i=0;i<lis.length;i++){
 93                 lis[i].onmouseover=function(){
 94                     this.children[1].style.display="block";   //显示li的第2个孩子 也就是ul的内容
 95                 }
 96                 lis[i].onmouseout=function(){
 97                     this.children[1].style.display="none";
 98                 }
 99             }
100         </script>
101     </body>
102 
103 </html>
原文地址:https://www.cnblogs.com/cy1227/p/12486992.html