不管是在导航栏还是顶部的功能条,基本都会用到二级菜单或者三级菜单等等,今天,就使用原生JS来实现这种功能,我个人加上了定时器,用户体验会更好。
HTML:
1. 布局清晰
2. 所有的li 都是相对定位
3. 所有的子级列表ul 都是绝对定位
JS分析:
1. 首先获取下拉菜单中的所以的li,然后遍历li,给每一个li加事件,清除定时器 ,不要忘记
2. 事件内套一个setTimeout() ,用来延迟下级菜单的显示时间,防止操作二级菜单,这其中自执行函数或者var that = this 都可以,防止i值错误
3. 获取当前li 下面的第一个ul列表,也就是下级菜单
4. 判断这个ul 列表是否存在,存在就它显示 . 这是关键
5. 鼠标移出事件和移入事件基本一样,移出让当前li下的ul 隐藏。
整体来说,二级菜单没有很强的逻辑性,但是对于初学者来说,这种无限下拉菜单,也并不是很简单,咋一看好像很难,但是希望你踏出这一步。还有一点就是,你的脑子里必须有清晰html结构,元素先不要隐藏,看清楚你的布局。把结构都写清楚了,那么对写js部分也是很有帮助的
1 2 3 4 56 14 49 50 51
- 52
- 首页 53
- 54 公司简介 ▼55
- 56
- 大事记 57
- 58 领导致辞 ▶59
- 60
- 61 2013年 ▶62
- 63
- 10月份 64
- 9月份 65
- 8月份 66
68 - 2012年 69
71 - 61 2013年 ▶62
- 企业文化 72
74 - 联系我们 75
- 76 产品展示 ▼77
- 78
- 康师傅 79
- 老谭 80
- 今麦郎 81
83