基于Layui实现管理页面

基于Layui实现的后台管理页面(仅前端)

注:这是博主在帮朋友实现的一个简单的系统前端框架(无后端),跟大家分享出来,可以直接将对应菜单跟html文件链接起来,页面使用标签页方式存在,使用简单,整体布局轻便简介,可根据自己需求进行拓展,代码包在文章开头的资源中,免费下载

Layui介绍

地址:https://layui.dev/docs/2.8/

图示例:
示例

home.html:

<head>
    <meta charset="utf-8">
    <title>管理界面首页</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">
    <script src="js/jquery.min.js"></script>
    <!-- 引入 layui.css -->
    <link href="layui/css/layui.css" rel="stylesheet">

    <!-- 引入 layui.js -->
    <script src="layui/layui.js"></script>
    <script src="js/home.js"></script>
    <style>
        .layui-tab-title .layui-this{
            color: #ffffff;
            font-weight: bolder;
            background-color: #009688;
        }
    </style>
</head>
<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-black">功能导航</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" id="leftEnumIcon"></i>
            </li>

            <li class="layui-nav-item" style="margin-left: 30px">
                <a>站外链接</a>
                <dl class="layui-nav-child">
                    <dd><a onclick="openOther('https://m.baidu.com/')">百度</a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-center">
            <li class="llayui-show-xs-inline-block">

            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-show-sm-inline-block" style="margin-right: 400px;">
                <span style="font-size: 25px">xxxxxxxxx系统</span>
            </li>
            <li class="layui-nav-item layui-hide layui-show-sm-inline-block">
                <a>
                    <img src="//unpkg.com/outeres@0.0.10/img/layui/icon-v2.png" class="layui-nav-img">
                    用户1
                </a>
                <dl class="layui-nav-child">
                    <dd><a ><span style="font-size: 15px;margin-right: 10px">注销</span><i class="layui-icon layui-icon-logout" style="font-size: 15px; color: red;"></i></a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a >
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>
    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
            <ul class="layui-nav layui-nav-tree" lay-filter="menu">
                <li class="layui-nav-item layui-nav-itemed"><a data-url="zhuye" data-lx="1">主页</a></li>
                <li class="layui-nav-item layui-nav-itemed">
                    <a >隧道管理</a>
                    <dl class="layui-nav-child">
                        <dd><a data-url = "page/sdxq.html">隧道信息查询</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item layui-nav-itemed">
                    <a >功能菜单</a>
                    <dl class="layui-nav-child">
                        <dd><a >菜单1</a></dd>
                        <dd><a >菜单2</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a >系统管理</a></li>
            </ul>
        </div>
    </div>
    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 0 15px 15px 15px;width: 95%;height: 95%">
            <div class="layui-tab" lay-filter="test-handle" lay-allowclose="true">
                <ul class="layui-tab-title">
                    <li class="layui-this" lay-id="id-zhuye">主页</li>
                </ul>
                <div class="layui-tab-content">
                    <div class="layui-tab-item layui-show">
                        <div class="layui-row">
                            <div class="layui-col-xs6">
                                <div class="layui-carousel" id="ID-carousel-demo-image">
                                    <div carousel-item >
                                        <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-1.jpg"></div>
                                        <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-2.jpg"></div>
                                        <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-3.jpg"></div>
                                        <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-4.jpg"></div>
                                        <div><img src="https://unpkg.com/outeres/demo/carousel/720x360-5.jpg"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="layui-col-xs6">
                                <div class="layui-timeline">
                                    <div class="layui-timeline-item">
                                        <i class="layui-icon layui-timeline-axis"></i>
                                        <div class="layui-timeline-content layui-text">
                                            <h3 class="layui-timeline-title">8月18日</h3>
                                            <p>
                                                多年前,Layui 2.0 的发布前夜,记录着这样的一段心理活动。
                                                <br>这是一个怎样的版本?它将受众如何?
                                                <br>又是谁在指引着我去创作,是基于成就感的驱动,还是试图建立我与客观世界的某种沟通 <i class="layui-icon"></i>
                                            </p>
                                        </div>
                                    </div>
                                    <div class="layui-timeline-item">
                                        <i class="layui-icon layui-timeline-axis"></i>
                                        <div class="layui-timeline-content layui-text">
                                            <h3 class="layui-timeline-title">8月16日</h3>
                                            <p>Layui 使用率最高的组件有</p>
                                            <ul>
                                                <li>layer</li>
                                                <li>table</li>
                                                <li>form</li>
                                            </ul>
                                        </div>
                                    </div>
                                    <div class="layui-timeline-item">
                                        <i class="layui-icon layui-timeline-axis"></i>
                                        <div class="layui-timeline-content layui-text">
                                            <h3 class="layui-timeline-title">8月15日</h3>
                                            <p>
                                                这片广袤的土地孕育了璀璨的华夏文化,和我们这个饱受沧桑的民族。
                                                <br>勤劳、淳朴、善良而又充满智慧的国人,一代又一代人的艰苦奋斗,古老的文明重新焕发出光彩。
                                            </p>
                                        </div>
                                    </div>
                                    <div class="layui-timeline-item">
                                        <i class="layui-icon layui-timeline-axis"></i>
                                        <div class="layui-timeline-content layui-text">
                                            <div class="layui-timeline-title">过去</div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div style="padding: 15px">
                            <blockquote class="layui-elem-quote layui-text">
                                <span style="font-size: 20px">最新资讯</span>
                            </blockquote>
                            <blockquote class="layui-text">
                                对重要的公路、铁路实现全线着盖是运营商提高网络质量的一个重要环节,是提高综合竞争力的一个有力手
                                段。从交通角度来看,目前大多数隧道的目的是覆盖盲区,因此需要结合交通线路的覆盖设计来制订专门的
                                隧道覆盖解决方案。
                                遂道着盖主要分为铁路隧道,公路隧道,地铁隧道等,每种隧道具有不同的特点,一般来说公路隧道比较宽
                                敞,对隧道里面的覆盖状况,有车通过与无车通过时差别不大。车辆通过时,隧道内剩余空间较大,可根据
                                实际情况选择尺寸大一些的天线,以获取较高的增益,使覆盖范围更大。而铁路隧道一般来说要狭窄一些
                                特别是当火车经过时,被火车填充后所剩余的空间很小,火车对隧道的填充会对信号的传播产生较大的影
                                响,且天线系统的安装空间有限,使天线的尺寸和增益受到很大的限制。另外,不管是哪种隧道,都存在长
                                短不一的状况,短的隧道只有几百米,而长的隧道有十几公里,在解决短隧道覆盖时,可采用灵活经济的手
                                段,如在隧道口附近用普通的天线向隧道里进行覆盖。但是,这些手段可能在解决长隧道覆盖时不起作用。
                                对于长隧道的着盖必须采取其它一些手段,因此,对于每没隧道的解决方案可能都会有所区知,必须根据实际情况来选定覆盖解决方案。
                            </blockquote>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="layui-footer" style="padding-left: 50px">
        <!-- 底部固定区域 -->
        欢迎使用xxxxxxxxx系统!&copy;版权归属,盗版必究
    </div>
</div>
</body>
</html>

home.js

//JS
var tabs = ['zhuye'];

layui.use(['element', 'layer', 'util'], function(){
    var element = layui.element;
    var layer = layui.layer;
    var util = layui.util;
    var $ = layui.$;
    var carousel = layui.carousel;
    // 渲染 - 图片轮播
    carousel.render({
        elem: '#ID-carousel-demo-image',
        width: '720px',
        height: '360px',
        interval: 2000
    });

    //头部事件
    util.event('lay-header-event', {
        menuLeft: function(){ // 左侧菜单事件
            var btn = $("#leftEnumIcon");
            if (btn.hasClass('layui-icon-spread-left')) {
                menuHide(btn);
                btn.addClass('btn-index');
            } else if (btn.has('layui-icon-shrink-right')) {
                btn.removeClass('btn-index');
                menuShow(btn);

            }
            function menuShow(btn) {
                btn.removeClass('layui-icon-shrink-right').addClass('layui-icon-spread-left');
                $(".layui-side").animate({width: 'toggle'});
                $(".zq-logo").animate({width: 'toggle'});
                $(".layui-body").animate({left: '200px'});
                $(".layui-footer").animate({left: '200px'});
            }

            function menuHide(btn) {
                btn.removeClass(' layui-icon-spread-left').addClass('layui-icon-shrink-right');
                $(".layui-side").animate({width: 'toggle'}); //toggle如果原来div是隐藏的就会把元素显示,如果原来是显示则隐藏
                $(".zq-logo").animate({width: 'toggle'});
                $(".layui-body").animate({left: '0px'});
                $(".layui-footer").animate({left: '0px'});
            }
        },
        menuRight: function(){  // 右侧菜单事件
            layer.open({
                type: 1,
                title: '更多',
                content: '<div style="padding: 15px;">处理右侧面板的操作</div>',
                area: ['260px', '100%'],
                offset: 'rt', // 右上角
                anim: 'slideLeft', // 从右侧抽屉滑出
                shadeClose: true,
                scrollbar: false
            });
        }
    });

    element.on('nav(menu)', function(elem) {
        var label = elem.text();
        var url = $(this).attr("data-url")
        var lx = $(this).attr("data-lx")
        if (url){
            //判断是否已经存在
            if (lx){
                //存在
                element.tabChange('test-handle', 'id-'+url); // 切换到:标签3
            } else {
                element.tabAdd('test-handle', {
                    title: label,
                    content: "<iframe style='border: 0;height: 100%;width: 100%;' src='"+url+"'></iframe>",
                    id: "id-"+url, // 实际使用一般是规定好的id,这里以毫秒数模拟
                    change: true // 是否添加完毕后即自动切换
                })
                //表示已经存在
                $(this).attr("data-lx","1")
                tabs.push(url);
            }

        }
    })

    element.on('tabDelete(test-handle)', function(data){
        var dataUrl = tabs[data.index]
        $("a[data-url='"+dataUrl+"']").attr("data-lx","")
        tabs.splice(data.index,1)
    });

    $('.layui-tab-title').find('.layui-tab-close').first().hide();
});

function openOther(url){
    window.open(url)
}

使用示例:

<dd><a data-url = "page/sdxq.html">隧道信息查询</a></dd>

对应a标签加上属性 data-url ,设置为对应页面的相对路径,即可实现自动跳转。(主页已经固定为home.html,不需要额外的页面)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/34226.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot2+Vue2实战(九)集成Echarts

Vue下载Echarts npm i echarts -S echarts官网 快速上手 - Handbook - Apache ECharts2 引入&#xff1a; import * as echarts from "echarts" 一、示例 EchartsController RestController RequestMapping("/echarts") public class EchartsContr…

HBase-问题

最终理解HBase数据模型的关键在于稀疏、分布式、多维、排序的映射。其中映射map指代非关系型数据库的key-Value结构。 1.怎么理解稀疏&#xff1f; 不同的行有不同的列&#xff0c;这就叫稀疏 有的行有3个列&#xff0c;有的行有2个列&#xff0c;那么2个列的在显示的时候&a…

Spring 项目过程及如何使用 Spring

文章目录 1.创建 Spring 项目步骤1.1 创建 Maven 项目1.2添加 Spring 框架支持1.3 添加启动项2.如何使用 Spring2.1 存储 Bean 对象2.1.1 创建 Bean对象2.1.2 将 Bean对象注册到容器中 2.2 获取并使用 Bean对象2.2.1 使用 ApplicationContext 获取对象2.2.2 使用 BeanFactory 获…

四、构建高可用的 Eureka-Server 集群

5.1 对刚才的 eureka-server 修改配置文件 5.1.1 server-1 server:port: 8761 #为什么是 8761&#xff0c;其他端口就报错spring:application:name: eureka-server #服务名称eureka:client:fetch-registry: true #是否拉取服务列表register-with-eureka: true #是否注册自己&…

matlab将数据写入到excel中

第一种&#xff1a; 将数据转化为cell块&#xff0c;从A1单元格写起 % xlswrite(info_10*2.xls ,sheet1,B2:B4) clear; clc; a[1 2 3 4 5 6 ];%三组数据 b[11 22 33 44 55 66]; c[12 23 34 45 56 61]; data [a b c];%把数据保存到data中&#xff0c;其中a的表示转置 [m p]si…

LED显示屏四大连接方式

LED显示屏的四大连接方式是数据连接、电源连接、信号输入连接和控制系统连接。以下是对每种连接方式的详细说明&#xff1a; 1,数据连接&#xff1a; 数据连接用于传输显示内容的数据信号到LED显示屏。常见的数据连接方式包括&#xff1a; 串行连接&#xff08;Serial Connecti…

DevOps实现自动化发布实操

DevOps实现自动化发布流程 本篇文章来自 B站视频&#xff08;部分步骤与视频存在差异&#xff09; 流程图及原理 本地编写代码提交至远程仓库Jenkins&#xff08;基于Docker&#xff09;通过内置Git获取提交的代码&#xff0c;通过Maven进行打包&#xff0c;形成可执行文件&a…

苹果app用发布证书打包后怎么装手机测试

一、背景 iOS 的开发证书打包后可以通过爱思助手安装到手机上测试&#xff0c;但发布 (Production) 证书是不允许安装在手机上的。而在实际开发过程中&#xff0c;尽管通过开发证书测试过了&#xff0c;iOS生产包仍然可能会出现一些问题&#xff0c;需对生产包也进行测试。 而…

Tdengine 时序数据库-安装与客户端连接

使用 TDengine 时序数据库的版本是 2.4.0.0 使用的安装RPM的安装方便安装 TDengine-server-2.4.0.0-Linux-x64.rpm 1. 安装指令: rpm -ivh TDengine-server-2.4.0.0-Linux-x64.rpm [rootnode3 server]# rpm -ivh TDengine-server-2.4.0.0-Linux-x64.rpm Verifying... …

赛效:如何将PDF文件免费转换成Word文档

1&#xff1a;在网页上打开wdashi&#xff0c;默认进入PDF转Word页面&#xff0c;点击中间的上传文件图标。 2&#xff1a;将PDF文件添加上去之后&#xff0c;点击右下角的“开始转换”。 3&#xff1a;稍等片刻转换成功后&#xff0c;点击绿色的“立即下载”按钮&#xff0c;将…

android Surface(1, 2)

android Surface(1, 2) android的Surface相关内容从底层依次往上分别是&#xff1a; 1.frameBuffer&#xff0c;简称fb&#xff0c;对于同一个android系统&#xff0c;可以同时存在多个frameBuffer&#xff0c;本机是fb0&#xff0c;依次外接时&#xff0c;fb1, fb2, ……fbn…

怎样在文章末尾添加尾注(将尾注的数字变为方括号加数字)

在进行文章编写或者需要添加注解时&#xff0c;需要进行尾注的添加&#xff0c;下面将详细说明如何进行尾注的添加 操作 首先打开需要进行添加尾注的文档&#xff0c;将光标移动至需要进行添加尾注的文字后。 紧接着在上方工具栏中&#xff0c;选择引用&#xff0c;在引用页…

短视频矩阵-短视频seo源码开发搭建

开发场景&#xff1a;抖音seo&#xff0c;短视频seo&#xff0c;抖音矩阵&#xff0c;短视频矩阵源码开源 一、 短视频矩阵源码需要掌握以下技术&#xff1a; 1. 视频编码技术 短视频矩阵系统利用视频编码技术&#xff0c;将视频文件进行压缩和解压缩&#xff0c;实现了高质…

CMU 15-445 -- Hash Tables - 04

CMU 15-445 -- Hash Tables - 04 引言Hash TablesHash FunctionsHashing Scheme小结 Dynamic Hash TablesChained Hashing (链式哈希)Extendible Hashing(可扩展哈希)Linear Hashing(线性哈希) 总结 引言 本系列为 CMU 15-445 Fall 2022 Database Systems 数据库系统 [卡内基梅…

04_前端包管理工具模块化

注意事项: ​ 改模块代码不用重启服务器,修改config文件的时候需要重启服务器 ​ nvm的安装路径和node的安装路径不能在同一路径下面 ​ 有乱码问题使用管理员权限进行使用use方法 下载安装node ​ 使用命令进行安装 1.nvm list 查看已下载所有的node版本 2.nvm install…

leetcode146.手撸 LRU 算法(java)

LRU 缓存 LRU 缓存题目描述LRU 介绍LRU 算法设计代码实现 单调栈算法 LRU 缓存 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/lru-cache 题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实…

设计模式学习之抽象工厂模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式 如果你已经理解了工厂方法模式&#xff0c;那你能够很快的明白抽象工厂模式。 温习&#xff1a;什么是工厂方法模式 我们先温习一下…

[muduo学习笔记]事件分发器(Channel、Poller)

此学习笔记参考施磊老师的muduo教学课程。 目的是搞懂 muduo 网络库的核心框架。EventLoop、channel 和 Poller 之间的关系 文章目录 1 Poller 抽象基类2 Channel3 模块的包含muduo模块梳理参考&#xff1a; 整体框架如下&#xff1a; muduo是基于 Reactor 模式的网络库&#…

【前端|HTML系列第2篇】HTML零基础入门之标签元素

大家好&#xff0c;欢迎来到前端入门系列的第二篇博客。在这个系列中&#xff0c;我们将一起学习前端开发的基础知识&#xff0c;从零开始构建网页和Web应用程序。本篇博客将为大家介绍HTML&#xff08;超文本标记语言&#xff09;常用标签元素&#xff0c;帮助零基础小白快速入…

基于深度学习的高精度抽烟行为检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度抽烟行为检测识别系统可用于日常生活中或野外来检测与定位抽烟行为目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的抽烟行为目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…