layui的侧边框的伸缩实现


前言

layui的使用大多参考官方文档和相应的layadmin静态页面资料,但是还是有很多不太详细的地方,在使用侧边框伸缩的时候就遇到了问题,不过最后也是查找原来的layadmin最后解决了,所以写在这里记录一下。


一、侧边框伸缩?

参考官方文档的layadmin是实现了侧边伸缩功能了的,但是由于是模块封装,有时候我们可能只需要这一个功能,所以需要将这一个功能单独实现弄明白。

本文的实现是基于layui的官方文档:
https://layui.dev/docs/2/layout/

在这里插入图片描述根据链接复制代码即可。但是代码没有实现侧边框伸缩,所以接下来是整个代码的核心块:

 menuLeft: function(othis){ // 左侧菜单事件
                $('#sideMenuId').toggleClass('layui-hide-xs');
                $('#sideMenu').toggleClass('layui-hide-xs');

                if($('#sideMenu').hasClass('layui-hide-xs')){
                    $('.layui-layout-left').css('left', 0+'px');
                    $('.layui-body').css('left', 0+'px');
                    $('.layui-footer').css('left', 0+'px');
                }else{
                    $('.layui-layout-left').css('left', 200+'px');
                    $('.layui-body').css('left', 200+'px');
                    $('.layui-footer').css('left', 200+'px');
                }


$(‘#sideMenuId’).toggleClass(‘layui-hide-xs’);是为了将侧边框隐藏或者显示
下面的if判断是为了保证侧边框隐藏以后将侧边框留下的空白给填充。
主要是使用了 css中的left; 也就是距离最左侧多远开始,修改为0的话就可以填充完完整界面。

二、使用步骤

1.拷贝代码并修改依赖地址

主要是layui的css和js的地址信息。
代码如下(示例):

	
    <link href="layui/css/layui.css" rel="stylesheet">
    
	<script src="layui/layui.js"></script>

2.最后实现展示

实现结果展示:
在这里插入图片描述在这里插入图片描述


完整代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layout 管理界面大布局示例 - Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="layui/css/layui.css" rel="stylesheet">
</head>
<body>
<div class="layui-layout layui-layout-admin">

    <div class="layui-header">
        <!--头部id-->
        <div class="layui-logo  layui-bg-black layui-hide-xs " id="sideMenuId">layout demo</div>
        <!-- 头部区域(可配合layui 已有的水平导航) -->
        <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"></i>
            </li>
            <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 1</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 2</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 3</a></li>
            <li class="layui-nav-item">
                <a href="javascript:;">nav groups</a>
                <dl class="layui-nav-child">
                    <dd><a href="javascript:;">menu 11</a></dd>
                    <dd><a href="javascript:;">menu 22</a></dd>
                    <dd><a href="javascript:;">menu 33</a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-sm-inline-block">
                <a href="javascript:;">
                    <img src="//unpkg.com/outeres@0.0.10/img/layui/icon-v2.png" class="layui-nav-img">
                    tester
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="javascript:;">Your Profile</a></dd>
                    <dd><a href="javascript:;">Settings</a></dd>
                    <dd><a href="javascript:;">Sign out</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>
    <!--侧边导航栏-->
    <div class="layui-side layui-bg-black layui-hide-xs" id="sideMenu">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">menu group 1</a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;">menu 1</a></dd>
                        <dd><a href="javascript:;">menu 2</a></dd>
                        <dd><a href="javascript:;">menu 3</a></dd>
                        <dd><a href="javascript:;">the links</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">menu group 2</a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;">list 1</a></dd>
                        <dd><a href="javascript:;">list 2</a></dd>
                        <dd><a href="javascript:;">超链接</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="javascript:;">click menu item</a></li>
                <li class="layui-nav-item"><a href="javascript:;">the links</a></li>
            </ul>
        </div>
    </div>

    <div class="layui-body" style="width: auto">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">
            <blockquote class="layui-elem-quote layui-text">
                Layui 框体布局内容主体区域
            </blockquote>
            <div class="layui-card layui-panel">
                <div class="layui-card-header">
                    下面是充数内容,为的是出现滚动条
                </div>
                <div class="layui-card-body">
                    充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>充数内容<br>你还真滑到了底部呀
                </div>
            </div>
            <br><br>
        </div>
    </div>
    <div class="layui-footer">
        <!-- 底部固定区域 -->
        底部固定区域
    </div>
</div>

<script src="layui/layui.js"></script>
<script>
    //JS
    layui.use(['element', 'layer', 'util'], function(){
        var element = layui.element;
        var layer = layui.layer;
        var util = layui.util;
        var $ = layui.$;

        //头部事件
        util.event('lay-header-event', {
            menuLeft: function(othis){ // 左侧菜单事件
                $('#sideMenuId').toggleClass('layui-hide-xs');
                $('#sideMenu').toggleClass('layui-hide-xs');

                if($('#sideMenu').hasClass('layui-hide-xs')){
                    $('.layui-layout-left').css('left', 0+'px');
                    $('.layui-body').css('left', 0+'px');
                    $('.layui-footer').css('left', 0+'px');
                }else{
                    $('.layui-layout-left').css('left', 200+'px');
                    $('.layui-body').css('left', 200+'px');
                    $('.layui-footer').css('left', 200+'px');
                }


            },
            menuRight: function(){  // 右侧菜单事件
                layer.open({
                    type: 1,
                    title: '更多',
                    content: '<div style="padding: 15px;">处理右侧面板的操作</div>',
                    area: ['260px', '100%'],
                    offset: 'rt', // 右上角
                    anim: 'slideLeft', // 从右侧抽屉滑出
                    shadeClose: true,
                    scrollbar: false
                });
            }
        });
    });
</script>
</body>
</html>
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值