C# MVC +Layui侧边导航栏的收缩及展开

目录

1、头部代码

2、侧边栏(例子只写了一级导航,需要多级可自行添加)

3、body内容填充

[4、 JS](#4、 JS)


1、头部代码

<div class="layui-layout layui-layout-admin">

<div class="layui-header">

<div class="layui-main">

<div class="layui-logo" style="width:100px">//logo

<i class="layui-icon layui-icon-form"></i><span>管理系统</span>

</div>

<ul class="layui-nav layui-layout-left ">//添加收缩图标按钮

<li class="layui-nav-item layui-show-xs-inline-block " lay-header-event="menuLeft">

<i class="layui-icon layui-icon-spread-left" id="icon"></i>

</li>

</ul>

</div>

</div>

2、侧边栏(例子只写了一级导航,需要多级可自行添加)

<div class="layui-side layui-bg-black">

<div class="layui-side-scroll">

<ul class="layui-nav layui-nav-tree" lay-filter="navSlide">

<li class="layui-nav-item layui-nav-itemed">

<a class='layui-icon layui-icon-home' href="/Home/Index">

<i><span>&nbsp;首页</span></i>

</a>

</li>

<li class="layui-nav-item ">

<a class='layui-icon layui-icon-form' href="/Material/Index">

<i><span>&nbsp;11</span></i>

</a>

</li>

<li class="layui-nav-item ">

<a class='layui-icon layui-icon-add-circle' href="/Home/About">

<i><span>&nbsp;22</span></i>

</a>

</li>

<li class="layui-nav-item ">

<a class='layui-icon layui-icon-reduce-circle' href="/Home/Contact">

<i><span>&nbsp;33</span></i>

</a>

</li>

<li class="layui-nav-item ">

<a class='layui-icon layui-icon-chart-screen' href="/">

<i><span>&nbsp;44</span></i>

</a>

</li>

</ul>

</div>

</div>

3、body内容填充

<div class="layui-body">

<div class="layui-fluid">

@RenderBody()

</div>

</div>

4、 JS

var isShow = true;//是否展开

util.event('lay-header-event', {

menuLeft: function (othis) { // 左侧菜单事件

//选择出所有的span,并判断是不是hidden,用来隐藏icon后面的span里面的内容,而icon不隐藏

$('.layui-nav-item span').each(function () {

if ($(this).is(':hidden')) {

$(this).show();

} else {

$(this).hide();

};

});

$('.layui-header span').each(function () {//同上

if ($(this).is(':hidden')) {

$(this).show();

} else {

$(this).hide();

};

});

//判断isshow的状态

if (isShow) {//收起来

$('.layui-side.layui-bg-black').width(60); //设置宽度

$('.layui-logo').width(30);

$('#icon').removeClass("layui-icon-spread-left"); //移除左图标

$('#icon').addClass("layui-icon-shrink-right"); //添加右图标

//将侧边栏和body的宽度修改

$('.layui-layout-left').css('left', 60 + 'px');

$('.layui-body').css('left', 60 + 'px');

//将二级导航栏隐藏

// $('dd span').each(function () {

// $(this).hide();

// });

//修改标志位

isShow = false;

} else {//展开来

$('.layui-side.layui-bg-black').width(200);

$('.layui-logo').width(100);

$('.layui-layout-left').css('left', 200 + 'px');

$('.layui-body').css('left', 200 + 'px');

/* $('dd span').each(function () {

$(this).show();

});*/

$('#icon').addClass("layui-icon-spread-left"); //修改左图标

$('#icon').removeClass("layui-icon-shrink-right"); //移除右图标

isShow = true;

};

}

相关推荐
名字被你们想完了几秒前
Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(三)
前端·flutter
用户12039112947263 分钟前
从零掌握 React JSX:为什么它让前端开发像搭积木一样简单?
前端·react.js·面试
Jonathan Star4 分钟前
git commit --amend 是 Git 中用于修改最后一次提交的核心命令
前端·chrome·git
在掘金801107 分钟前
RequireJS 详解
前端·javascript
cindershade9 分钟前
我对防抖(Debounce)的一点理解与实践:从基础到立即执行
javascript
morning_judger24 分钟前
JavaScript封装演进史:从全局变量到闭包
开发语言·javascript
spencer_tseng26 分钟前
jquery.min.js v1.12.4
javascript·jquery
派大鑫wink27 分钟前
Python 流程控制实战:打造文字版数独小游戏(新手友好)
服务器·前端·microsoft
飛67937 分钟前
玩转 Flutter 自定义 Painter:从零打造丝滑的仪表盘动效与可视化图表
开发语言·javascript·flutter
JIngJaneIL1 小时前
基于Java+ vueOA工程项目管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端