layui-tree美化左側選單
#html
<div> <div> <div></div> </div> </div>
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.js文件必须放到HTML内容的最后--> <script></script> 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: '<iframe></iframe>' //支持传入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知識請關注layui使用教程欄。
以上是使用layui-tree美化左側選單的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文詳細介紹瞭如何使用Layui的元素模塊來創建和自定義UI元素,例如選項卡,手風琴和進度條,突出顯示HTML結構,初始化和常見的陷阱,以避免。

本文討論了自定義Layui的Carousel模塊,重點介紹了外觀和行為的CSS和JavaScript修改,包括過渡效果,自動播放設置以及添加自定義導航控件。

該文章指導使用Layui的Carousel模塊用於圖像滑塊,詳細介紹設置的步驟,自定義選項,實現自動播放和導航以及性能優化策略。

本文討論了使用Accept,Exts和Size屬性來限制Layui的上傳模塊,以限製文件類型和尺寸,並自定義錯誤消息以違反。

本文介紹瞭如何使用Layui的圖層模塊創建模態窗口和對話框,詳細設置,類型,自定義和常見的陷阱要避免。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),