制作动画二级菜单

下面是学习慕课网上的制作动作二级菜单的HTML代码

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>动画菜单</title>
 6 <style type="text/css">
 7 * { margin: 0; padding: 0; font-size: 14px; }
 8 a { color: #333; text-decoration: none }
 9 ul{ list-style: none; }
10 .nav {height: 30px; border-bottom: 5px solid #F60; margin-left:50px; width:600px;}
11 .nav li { float: left; position:relative; height:30px; width:120px }
12 .nav li a { display: block; height: 30px; text-align: center; line-height: 30px; width:120px; background: #efefef; margin-left: 1px; }
13 .subNav{ position:absolute; top:30px; left:0; width:120px; height:0; overflow:hidden}
14 .subNav li a{ background:#ddd }
15 .subNav li a:hover{ background:#efefef}
16 </style>
17 <script>
18 window.onload=function(){
19     var aLi=document.getElementsByTagName(‘li‘);
20     for(var i=0; i<aLi.length; i++){
21         aLi[i].onmouseover=function(){
22             //鼠标经过一级菜单,二级菜单动画下拉显示出来
23        var usubNav = this.getElementsByTagName(‘ul‘)[0];
24
25         if(usubNav){var This = usubNav;
26         clearInterval(This.time);
27         }
28         This.time = setInterval(function(){
29         This.style.height = This.offsetHeight+16+"px";
30      if(This.offsetHeight>=120){
31          This.height=‘120px‘;
32          clearInterval(This.time);
33      }
34     },30)
35         }
36         //鼠标离开菜单,二级菜单动画收缩起来。
37         aLi[i].onmouseout=function(){
38         var usubNav = this.getElementsByTagName(‘ul‘)[0];
39         if(usubNav){var This = usubNav;
40         clearInterval(This.time);
41         }
42
43         This.time=setInterval(function(){
44           This.style.height = This.offsetHeight-16+"px";
45             if(This.offsetHeight<=0){
46                 This.height=0;
47                 clearInterval(This.time);
48             }
49         },30)
50         }
51     }
52 }
53 </script>
54 </head>
55 <body>
56 <ul class="nav">
57     <li><a href="#">一级菜单</a>
58         <ul class="subNav">
59             <li><a href="#">二级菜单</a></li>
60             <li><a href="#">二级菜单</a></li>
61             <li><a href="#">二级菜单</a></li>
62             <li><a href="#">二级菜单</a></li>
63         </ul>
64     </li>
65     <li><a href="#">一级菜单</a>
66         <ul class="subNav">
67             <li><a href="#">二级菜单</a></li>
68             <li><a href="#">二级菜单</a></li>
69             <li><a href="#">二级菜单</a></li>
70             <li><a href="#">二级菜单</a></li>
71         </ul>
72     </li>
73     <li><a href="#">一级菜单</a></li>
74     <li><a href="#">一级菜单</a></li>
75     <li><a href="#">一级菜单</a></li>
76 </ul>
77 </body>
78 </html>

  

text-align: center; 轻松实现文本居中;text-indent:10px;实现文本的缩进;其中nav是导航条的意思;第13行代码,.subNav{},ul本来就是div;后代选择器(descendant selector)又称为包含选择器。第12行中对li的设置宽度、高度,在subNav li中高度和宽度就可以不用设置了。我们需要考虑下拉列表的定位,定位的父级列表是页面的右上角,因为在nav导航条中横向布置的li是下拉列表的父级元素,第13行,subNav是脱离文档流的,同时设置height:0;overflow:hidden;目前读取到的信息就这么多。
时间: 2024-10-08 16:19:12

制作动画二级菜单的相关文章

JS 学习制作一个二级菜单

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>菜单栏</title> 5 <script src="jquery/jquery-2.1.1.js"></script> 6 <script> 7 $(document).ready(function () {

CSS制作二级菜单时,二级菜单与一级菜单不对齐

效果如图: 部分代码如图: <li><a href="#" target="_blank">关于我们</a> <ul> <li class="top"><a href="#" target="_blank">关于我们</a></li> <li><a href="#" targ

html+css二级菜单制作!

二级菜单!!<!DOCTYPE html<html lang="e<head> <meta charset="UTF-8"> <title>Title</title> <style> *{ padding: 0; margin: 0; } .er{ width: auto; background-color: antiquewhite; } a{ text-decoration: none; } .er

二级菜单制作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <ti

联动二级菜单实现

参照美团app下拉式的二级列表菜单,公司项目中也有这种菜单的需求                    1,结构分析 首先,我们给出这个下来菜单需要的组建.我们用线框图来分析. 1)如上图所示,最外围的是一个Activity,顶部包含了一个View的容器,这个容器主要是装载ToggleButton来实现诸如美团里面的“美食,全城,理我最近,刷选”这一行.这一行一点就会弹出对应的下来菜单. 2)下拉菜单是如何实现的呢?,这里我们利用了PopupWindow来实现这一弹出式窗口.然后我们在弹出式窗口

Solidworks如何制作动画

1点击窗口下方的"运动算例1"可以弹出动画的面板,右击该"运动算例1"还可以对这个动画窗口重命名等操作. 2 我们从最简单的动画开始,假设图示装配体,想要把它从完全收缩到完全张开,再收回做成一个动画 3 我们知道只有在物资动力的情况下移动零部件才能实现带动 4 单纯的标准拖动并不会考虑限制(这在制作动画的时候一般是不允许的,因为我们要的是模拟真实的运动,而真实的运动不可能拖出来) 5 然而在运动算例中物资动力并不可选(也就是说我们不可能在物资动力的情况下拖动一下,然

iOS 二级菜单(UITableView实现)

作为iOS 新手 这个东西我捣鼓了一天,主要是没耐心.静下心来其实一会就能摆平. 我总结的经验,宁可精心学一个小时,也别浮躁学1天. 对新手来说主要是各种函数不熟,查询还不好查: 二级菜单网上说得不多,wo 下面来说一下这个二级菜单: 需求是这样的: 1 菜单只有二级. 2 如果有子菜单点一下打开,如果没有,则实现相应的操作: 我们来实现他(界面有点丑,但主要是功能,界面很简单自己设计一下就行): 个人想法是这样的: 首先建立一个cell的类,用于存放cell中的内容 ,继承自uitablevi

js实现二级菜单显示和收缩

window.onload=function(){ var aLi=document.getElementsByTagName('li'); for(var i=0; i<aLi.length; i++){ aLi[i].onmouseover=function(){ var oSubNav=this.getElementsByTagName('ul')[0]; if(oSubNav){ var This=oSubNav; clearInterval(This.time); This.time=

jquery二级菜单。显示了jquery的方便

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con