网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

原生JS实现N级菜单的代码

需求分析

我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、汉阳ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汉阳网站制作公司

简单的分析一下,要实现N级菜单,首先从布局入手,即判断是否有下级菜单

1.没有下一级菜单,直接排列

2.有下级菜单,又分为下级菜单排放位置,和在上级菜单显示类似 '>' 的符号,效果如图:

原生JS实现N级菜单的代码

图:1

 初步实现

1.实现是否存在   >

注意: 下面凡是担忧 xxx===yyy ? xxx : xxx都是利用三元表达式,来表达思路。

HTML结构如下:

原生JS实现N级菜单的代码

图:2

•要实现图一的效果,我们只需要判断li标签里面的children.length===2 ? 'span存在' : 'span移除'

2.下级菜单出现位置

HTML结构如下:

原生JS实现N级菜单的代码

•实现这一需求,也需要判断children.length===2 ? '上级菜单相对定位, top为0,left为上级的offsetWidth,下级菜单绝对定位' : '不做任何处理'

具体代码即实现

效果图如下:

原生JS实现N级菜单的代码

代码如下:




  
  Document
  


  
  • 一级菜单 >
  • 一级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
    • 二级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
  • 一级菜单 >
    • 二级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
    • 二级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
      • 三级菜单 >
  • 一级菜单 >

以上所述是小编给大家介绍的原生JS实现N级菜单的代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


网页标题:原生JS实现N级菜单的代码
链接地址:http://bjjierui.cn/article/iphisj.html

其他资讯