一、總結(點擊顯示或隱藏總結內容)
一句話總結:用的是定位,父標簽相對定位,子標簽就可以絕對定位了,絕對定位的孩子還是可以設置絕對定位。用toggle設置子菜單顯示和隱藏。用的是jquery的hover方法。
1、鼠標滑過的時候最常設置的屬性是什么?
透明度 opacity
2、如何讓一級菜單下的二級菜單顯示而三級菜單不顯示?
.menu>li:hover>ul{display:none} 直接選擇孩子,而不要選擇子輩 而且注意這里是li:hover,也就是被鼠標懸浮的那個li的孩子ul(下級菜單)
3、如何實現被鼠標懸浮的那個li的孩子ul(下級菜單)顯示出來?
.menu>li:hover>ul{display:none} 而且注意這里是li:hover
也可以直接用jquery的hover方法
$('.menu li').hover(function(){
$(this).children('ul').toggle()
})
4、如何滑動二級菜單讓三級菜單顯示出來?
注意這里用到了多個li:hover
.menu>li:hover>ul>li:hover>ul{display: block;}*/
5、元素的顯示和隱藏切換用什么?
toggle
6、三級菜單的本質是什么?
元素的顯示和隱藏 + 元素的定位
二、jquery如何實現三級列表
1、相關知識
三級導航
案例描述:用兩種方法實現一個簡單的三級導航欄。
案例重點:該案例非本身並不復雜,重點在於對思路的理解。
2、代碼
<!DOCTYPE html>
2 <html lang="en">
3 <style>
4 </style>
5 <head>
6 <meta charset="UTF-8">
7 <title>演示文檔</title>
8 <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
9 <style type="text/css">
10 *{padding: 0;margin:0;}
11 a{color: #fff;text-decoration: none;}
12 .menu{background: orange;height: 30px;line-height: 30px;}
13 .menu li{list-style-type: none;float: left; position: relative;}
14 .menu li a{display: block;height: 30px;float: left;margin-left: 10px}
15 .menu li ul{position: absolute;display: none;}
16 .first{top: 30px}
17 .first li a{width: 100px;background: rgba(100,50,30,0.6)}
18 .first li a:hover{width: 100px;background: rgba(100,50,30,0.8)}
19 .first_2{left: 100px}
20 /* .menu>li:hover>ul{display: block;}
21 .menu>li:hover>ul>li:hover>ul{display: block;}*/
22
23 </style>
24 </head>
25 <body>
26 <ul class="menu">
27 <li><a href="#">菜單一</a>
28 <ul class="first">
29 <li><a href="#">菜單一</a></li>
30 <li><a href="#">菜單二</a></li>
31 <li><a href="#">菜單三</a></li>
32 <li><a href="#">菜單四<span>▶</span></a>
33 <ul class="first_2">
34 <li><a href="#">菜單一</a></li>
35 <li><a href="#">菜單二</a></li>
36 <li><a href="#">菜單三</a></li>
37 <li><a href="#">菜單四</a></li>
38 </ul>
39 </li>
40 </ul>
41 </li>
42 <li><a href="#">菜單二</a></li>
43 <li><a href="#">菜單三</a></li>
44 <li><a href="#">菜單四</a></li>
45 </ul>
46 <script>
47 $('.menu li').hover(function(){
48 $(this).children('ul').toggle()
49 })
50 </script>
51 </body>
52 </html>
