博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无限级下拉菜单(树形菜单,二级菜单)
阅读量:5095 次
发布时间:2019-06-13

本文共 1190 字,大约阅读时间需要 3 分钟。

不管是在导航栏还是顶部的功能条,基本都会用到二级菜单或者三级菜单等等,今天,就使用原生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 
5 6 14 49 50 51
    52
  • 首页
  • 53
  • 54 公司简介 ▼55
      56
    • 大事记
    • 57
    • 58 领导致辞 ▶59
        60
      • 61 2013年 ▶62
          63
        • 10月份
        • 64
        • 9月份
        • 65
        • 8月份
        • 66
        67
      • 68
      • 2012年
      • 69
      70
    • 71
    • 企业文化
    • 72
    73
  • 74
  • 联系我们
  • 75
  • 76 产品展示 ▼77
      78
    • 康师傅
    • 79
    • 老谭
    • 80
    • 今麦郎
    • 81
    82
  • 83
84 85

 

转载于:https://www.cnblogs.com/NTWang/p/6241875.html

你可能感兴趣的文章
后端图片上传
查看>>
ubuntu编译运行xv6
查看>>
02-Mysql数据库----初识
查看>>
SqlServer中union 和 union all的区别
查看>>
C#条件编译,发布多平台和多种选择性的项目
查看>>
python 笔记数据类型
查看>>
如何用php开启企业微信开发的回调模式
查看>>
UAC在注册表中的对应位置
查看>>
机器为什么可以学习(2)---一般化理论
查看>>
集合和Iterator迭代器
查看>>
IO—》File类
查看>>
Web前端学习笔记(三)——input标签的属性
查看>>
BZOJ.3262.陌上花开([模板]CDQ分治 三维偏序)
查看>>
BZOJ.1312.[Neerc2006]Hard Life(分数规划 最大权闭合子图)
查看>>
js的concat函数、join 、slice函数及二维数组的定义方式
查看>>
Vue的单页应用中如何引用单独的样式文件
查看>>
html5利用getObjectURL获取图片路径上传图片
查看>>
学习资料
查看>>
hread.interrupt()到底意味着什么
查看>>
寒假训练总结
查看>>