千家信息网

如何使用layui-tree美化左侧菜单

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关如何使用layui-tree美化左侧菜单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。layui-tree美化左侧菜单html
千家信息网最后更新 2026年11月03日如何使用layui-tree美化左侧菜单

这篇文章将为大家详细讲解有关如何使用layui-tree美化左侧菜单,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

layui-tree美化左侧菜单

html

css

/*左侧导航*/.layui-tree-skin-sidebar li i{    color: rgba(255,255,255,.7);    display: none;}.layui-tree-skin-sidebar li a cite{    color: rgba(255,255,255,.7)}.layui-tree-skin-sidebar li .layui-tree-spread{    display: block;    position: absolute;    right: 30px;}.layui-tree-skin-sidebar li{    line-height: 45px;    position: relative;}.layui-tree-skin-sidebar li ul{    margin-left: 0;    background: rgba(0,0,0,.3);}.layui-tree-skin-sidebar li ul a{    padding-left: 20px;}.layui-tree-skin-sidebar li a{    height: 45px;    border-left: 5px solid transparent;    box-sizing: border-box;    width: 100%;}.layui-tree-skin-sidebar li a:hover{    background: #4E5465;    color: #fff;    border-left: 5px solid #009688;}.layui-tree-skin-sidebar li a.active{    background: #009688;}

js

layui.use(['element','layer','jquery','tree'], function(){    var element = layui.element;    var layer = layui.layer;    var $ = layui.jquery;    var menuData =  [ //节点            {                name: '常用文件夹'                ,id: '1'                ,children: [                {                    name: '所有未读'                    ,id: '11'                    ,url: 'http://www.layui.com/'                }, {                    name: '置顶邮件'                    ,id: '12'                }, {                    name: '标签邮件'                    ,id: '13'                }            ]            }, {                name: '我的邮箱'                ,id: '2'                ,children: [                    {                        name: 'QQ邮箱'                        ,id: '21'                        ,spread: true                        ,children: [                        {                            name: '收件箱'                            ,id: '211'                            ,children: [                            {                                name: '所有未读'                                ,id: '2111'                            }, {                                name: '置顶邮件'                                ,id: '2112'                            }, {                                name: '标签邮件'                                ,id: '2113'                            }                        ]                        }, {                            name: '已发出的邮件'                            ,id: '212'                        }, {                            name: '垃圾邮件'                            ,id: '213'                        }                    ]                    }, {                        name: '阿里云邮'                        ,id: '22'                        ,children: [                            {                                name: '收件箱'                                ,id: '221'                            }, {                                name: '已发出的邮件'                                ,id: '222'                            }, {                                name: '垃圾邮件'                                ,id: '223'                            }                        ]                    }                ]            }        ]    layui.tree({        elem: '#sidemenubar' //传入元素选择器        ,skin: 'sidebar'  //自定义tree样式的类名        ,nodes:menuData  //节点数据        ,click: function(node,item){            //node即为当前点击的节点数据,item就是被点击的a标签对象了            //导航按钮选中当前            $('#sidemenubar a').removeClass('active');            $(item).addClass('active');            $(item).siblings('.layui-tree-spread').click();            //添加新tab            activeTab.init(node.name,node.url,node.id);        }    });    var activeTab = {        tabTit : '', //tab titile标题        tabUrl : '', //tab内容嵌套iframe的src        tabId  : '', //tab 标签的lay-id        tabCon : function(){            var result;            $.ajax({                type: 'get',                url: this.tabUrl,                dataType: 'html',                success: function(data){                    result = data;                }            })            return result;        },        addTab : function(){ //新增tab项            element.tabAdd('demo', {                title: this.tabTit                ,content: '' //支持传入html                ,id: this.tabId            })        },        changeTab: function(){ //选中tab项            element.tabChange('demo', this.tabId);        },        ishasTab : function(){ //判断tab项中是否包含            var _this = this;            var dataId,isflag;            var arrays = $('.layui-tab-title li');            $.each(arrays,function(idx,ele){                dataId = $(ele).attr('lay-id');                if(dataId === _this.tabId){                    isflag = true                    return false                }else{                    isflag = false                }            })            return isflag        },        init : function(tabtit,taburl,tabid){            var _this = this;            _this.tabUrl = taburl;            _this.tabId = tabid;            _this.tabTit = tabtit;            if(taburl){                if(!_this.ishasTab()){                    _this.addTab();                }                _this.changeTab();            }else{                return false            }        }    }});

新增tab项逻辑思路

点击左侧导航,获取它的数据(url,id。。。)

如果有url,则判断其id是否与tab项的lay-id相同,相同则切换选中,不相同则新增

遇到的问题

layui-tree 单击节点只返回当前的节点数据,不返回当前节点的HTML对象

解决方案

更改tree.js 源码

e.children("a").on("click",                    function(e) {                        layui.stope(e),                            i.click(o,this)                    })i.click(o)改为 i.click(o,this)

关于"如何使用layui-tree美化左侧菜单"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

邮件 节点 数据 标签 菜单 相同 篇文章 导航 内容 垃圾 对象 更多 邮箱 收件箱 不错 实用 元素 就是 常用 思路 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 互联网科技工作委员会 易互联网科技有限公司 互联网金融公司科技 青岛互联网科技公司 互联网与新科技 卓越科技(互联网 ) 互联网科技论文 南京欣网互联网科技 互联网科技大会 互联网科技类展会 湖南洣水互联网科技有限公司扣款 西藏七维空间互联网科技有限公司 昭通云南众福互联网科技有限公司 湖北码尼互联网科技有限公司电话 互联网企业科技类企业如何做账 宇信科技在杭州互联网排第几 保山互联网科技靠谱吗 广东猫王互联网科技有限公司电话 山东亿川互联网科技有限责任公司 深圳恒合互联网络科技有限公司 科技与互联网 科技互联网政务服务 互联网科技集团 佩信高科技互联网 互联网科技公司实习生 消费医药和互联网科技 健康食品互联网创新科技园项目 华夏恒生互联网科技013171 广州全民伙伴互联网科技有限公司
0