利用框架开发二级菜单选项卡

 

 

图一

图二

图三

图四

类似这样的左边有导航栏,还是二级,一级栏目是一种布局,二级是另一种布局;

实现思想:导航栏使用框架,实现点击一级可以下拉、收起二级导航;然后将一级导航栏点击后展现的内容全部放在同一个class=“father"  的div中,将二级导航栏点击后展现的内容放在同一个class="son" 的div中。设置事件,当点击father的时候,设置son的display隐藏,然后father的display=block;  然后遍历father的一级导航头,让他们全部display:=none;然后根据this.getAttribute("index")获取到点击的那个一级导航头class下标,将自己设置为display:block;

具体步骤:
1.  外部进行div布局,搭好外部框架,如果不想写响应式,那就直接将div的width和height写死,跑来跑去烦死了;
2.   内部进行各自布局,其中左侧的导航栏可以使用框架引入class,想要修改框架的颜色等样式,可以在想修改的地方右键,找到对应的元素的css属性,复制属性直接修改值(因为直接复制属性修改可以避免因为权重问题无法覆盖框架的样式)。、
3.  开始写js动态效果,因为引入框架后,如果直接修改框架的属性可能会遇到框架使用了!important,所以可以直接使用将框架的属性添加和删除的方式,elemet.classList.addClass()。

z

注:引入框架的class之前,要特别注意,不要让两个不同的模块拥有相同的类;比如,这项目中用到了一个侧边栏,一个选项卡。在Layui这个框架中,侧边二级菜单栏和选项卡的部分class名字是有重叠的,这样一来如果我在写侧边栏的时候把某个类的height设置为一个固定的值,在选项卡中如果这个类的子元素高度超出 了设定的高度就会溢出遮盖下面其他元素。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Layui是一款轻量级的前端UI框架,它提供了丰富的组件和模块,可以快速地开发出美观、易用的Web应用程序。下面是一个使用Layui实现二级菜单的示例: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui二级菜单示例</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <div class="layui-layout layui-layout-admin"> <div class="layui-header"> <div class="layui-logo">Layui二级菜单示例</div> </div> <div class="layui-side layui-bg-black"> <div class="layui-side-scroll"> <ul class="layui-nav layui-nav-tree" lay-filter="test"> <li class="layui-nav-item layui-nav-itemed"> <a href="javascript:;">菜单1</a> <dl class="layui-nav-child"> <dd><a href="">子菜单1</a></dd> <dd><a href="">子菜单2</a></dd> <dd><a href="">子菜单3</a></dd> </dl> </li> <li class="layui-nav-item"> <a href="javascript:;">菜单2</a> <dl class="layui-nav-child"> <dd><a href="">子菜单4</a></dd> <dd><a href="">子菜单5</a></dd> <dd><a href="">子菜单6</a></dd> </dl> </li> </ul> </div> </div> <div class="layui-body"> <div class="layui-tab layui-tab-card"> <ul class="layui-tab-title"> <li class="layui-this">欢迎页</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show">欢迎使用Layui二级菜单示例</div> </div> </div> </div> <div class="layui-footer"> © 2021 Layui二级菜单示例 </div> </div> <script src="layui/layui.js"></script> <script> layui.use('element', function(){ var element = layui.element; //监听导航点击 element.on('nav(test)', function(elem){ //获取子菜单的数据 var childData = elem.children('.layui-nav-child'); //如果子菜单存在,则阻止跳转 if (childData.length > 0) { return false; } }); }); </script> </body> </html> ``` 在上面的示例中,使用了Layui的菜单组件和选项卡组件来实现二级菜单效果。菜单组件通过`layui-nav`和`layui-nav-child`来设置菜单项和子菜单项,选项卡组件通过`layui-tab`和`layui-tab-title`来设置选项卡标签和`layui-tab-item`来设置选项卡内容。 同时,在JavaScript代码中,使用了Layui的元素模块来监听导航菜单的点击事件,并通过判断子菜单是否存在来阻止跳转。这样就可以实现二级菜单的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值