(第一次發(fā)布考慮欠周,修正之后發(fā)布...) 為T(mén)ab選項(xiàng)卡增加右鍵彈出菜單,例如:關(guān)閉當(dāng)前、關(guān)閉其它.... - 支持頁(yè)面多個(gè)Tab選項(xiàng)卡彈出菜單單獨(dú)定義 - 支持自定義彈出項(xiàng)和彈出事件(使用registMethod屬性進(jìn)行注冊(cè)) - 支持自定義圖標(biāo)(目前僅支持LayUI默認(rèn)圖標(biāo))
<div id="nav1">注意:
<!-- 頂部切換卡 -->
<!--ul的id要和lay-filter一致-->
<div class="layui-tab" lay-filter="main_tab1">
<ul id="main_tab1" class="layui-tab-title">
<li lay-id="0" class="layui-this">網(wǎng)站設(shè)置</li>
<li lay-id="1">用戶(hù)管理</li>
<li lay-id="2">權(quán)限分配</li>
<li lay-id="3">商品管理</li>
<li lay-id="4">訂單管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">這是 網(wǎng)站設(shè)置 內(nèi)容</div>
<div class="layui-tab-item">這是 用戶(hù)管理 內(nèi)容</div>
<div class="layui-tab-item">這是 權(quán)限分配 內(nèi)容</div>
<div class="layui-tab-item">這是 商品管理 內(nèi)容</div>
<div class="layui-tab-item">這是 訂單管理 內(nèi)容</div>
</div>
</div>
</div>
layui.config({
base: 'module/',
}).use(['element', 'tabrightmenu'], function () {
let element = layui.element;
let rightmenu_ = layui.tabrightmenu;
// 默認(rèn)方式渲染全部:關(guān)閉當(dāng)前(closethis)、關(guān)閉所有(closeall)、關(guān)閉其它(closeothers)、關(guān)閉左側(cè)所有(closeleft)、關(guān)閉右側(cè)所有(closeright)、刷新當(dāng)前頁(yè)(refresh)
rightmenu_.render({
container: '#nav1',
filter: 'main_tab1',
});
});
layui.config({使用自定義彈出項(xiàng)最重要的就是navArr屬性。該屬性是一個(gè)對(duì)象集合,每一個(gè)對(duì)象描述了菜單項(xiàng)的一些基本信息(eventName:事件類(lèi)型、title:菜單項(xiàng)標(biāo)題、icon:圖標(biāo)class類(lèi)名)
base: 'module/',
}).use(['element', 'tabrightmenu'], function () {
let element = layui.element;
let rightmenu_ = layui. tabrightmenu;
// 默認(rèn)方式渲染全部:關(guān)閉當(dāng)前(closethis)、關(guān)閉所有(closeall)、關(guān)閉其它(closeothers)、關(guān)閉左側(cè)所有(closeleft)、關(guān)閉右側(cè)所有(closeright)、刷新當(dāng)前頁(yè)(refresh)
rightmenu_.render({
container: '#nav1',
filter: 'main_tab1',
navArr: [
{eventName: 'closethis', title: '關(guān)閉當(dāng)前', icon: 'layui-icon-close'},
{eventName: 'closeall', title: '關(guān)閉所有'},
{eventName: 'closeothers', title: '關(guān)閉其它'},
//自定義菜單項(xiàng),此時(shí)dataType屬性表示自定義事件
{title: "測(cè)試", eventName: 'test'},
{title: "測(cè)試2", eventName: 'test2'},
],
//注冊(cè)自定義事件
registMethod: {'test': testMethod, 'test2': test2Method}
});
function testMethod(id, title, currentNavGroup, dom) {
changeCurrentTabContent(currentNavGroup, "[測(cè)試]觸發(fā),觸發(fā)的ID:" + id + ",標(biāo)題:" + title);
}
function test2Method(id, title, currentNavGroup, dom) {
changeCurrentTabContent(currentNavGroup, "[測(cè)試2]觸發(fā),觸發(fā)的ID:" + id + ",標(biāo)題:" + title);
}
function changeCurrentTabContent(currentNavGroup, content) {
$(currentNavGroup + " div[class='layui-tab-item layui-show']").html(content);
}
});
<h1>選項(xiàng)卡1</h1>
<div id="nav1">
<!-- 頂部切換卡 -->
<!--ul的id要和lay-filter一致-->
<div class="layui-tab" lay-filter="main_tab1">
<ul id="main_tab1" class="layui-tab-title">
<li lay-id="0" class="layui-this">網(wǎng)站設(shè)置</li>
<li lay-id="1">用戶(hù)管理</li>
<li lay-id="2">權(quán)限分配</li>
<li lay-id="3">商品管理</li>
<li lay-id="4">訂單管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">這是 網(wǎng)站設(shè)置 內(nèi)容</div>
<div class="layui-tab-item">這是 用戶(hù)管理 內(nèi)容</div>
<div class="layui-tab-item">這是 權(quán)限分配 內(nèi)容</div>
<div class="layui-tab-item">這是 商品管理 內(nèi)容</div>
<div class="layui-tab-item">這是 訂單管理 內(nèi)容</div>
</div>
</div>
</div>
<h1>選項(xiàng)卡2</h1>
<div id="nav2">
<!-- 頂部切換卡 -->
<div class="layui-tab" lay-filter="main_tab2">
<ul id="main_tab2" class="layui-tab-title">
<li lay-id="11" class="layui-this">權(quán)限管理</li>
<li lay-id="12">機(jī)構(gòu)管理</li>
<li lay-id="21">字典管理</li>
<li lay-id="31">用戶(hù)管理</li>
<li lay-id="41">物流管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">這是 權(quán)限管理 內(nèi)容</div>
<div class="layui-tab-item">這是 機(jī)構(gòu)管理 內(nèi)容</div>
<div class="layui-tab-item">這是 字典管理 內(nèi)容</div>
<div class="layui-tab-item">這是 用戶(hù)管理 內(nèi)容</div>
<div class="layui-tab-item">這是 物流管理 內(nèi)容</div>
</div>
</div>
</div>
layui.config({以上就可以實(shí)現(xiàn)一個(gè)頁(yè)面多個(gè)選項(xiàng)卡進(jìn)行不同處理,實(shí)用性更強(qiáng)。
base: 'module/',
}).use(['tabrightmenu'], function () {
let element = layui.element;
let rightmenu_ = layui.tabrightmenu;
// 默認(rèn)方式渲染全部:關(guān)閉當(dāng)前(closethis)、關(guān)閉所有(closeall)、關(guān)閉其它(closeothers)、關(guān)閉左側(cè)所有(closeleft)、關(guān)閉右側(cè)所有(closeright)、刷新當(dāng)前頁(yè)(refresh)
// 渲染nav1
rightmenu_.render({
container: '#nav1',
filter: 'main_tab1',
});
// 渲染nav2,渲染默認(rèn)部分彈出項(xiàng)+自定義彈出項(xiàng)
rightmenu_.render({
container: '#nav2',
filter: 'main_tab2',
// navArr:對(duì)象數(shù)組,每個(gè)對(duì)象包含dataType、title、method屬性
navArr: [
{eventName: 'closethis', title: '關(guān)閉當(dāng)前', icon: 'layui-icon-close'},
{eventName: 'closeall', title: '關(guān)閉所有'},
{eventName: 'closeothers', title: '關(guān)閉其它'},
//自定義菜單項(xiàng),此時(shí)dataType屬性表示自定義事件
{title: "測(cè)試", eventName: 'test'},
{title: "測(cè)試2", eventName: 'test2'},
],
// 注冊(cè)自定義事件
registMethod: {'test': testMethod, 'test2': test2Method}
})
function testMethod(id, title, currentNavGroup, dom) {
changeCurrentTabContent(currentNavGroup, "[測(cè)試]觸發(fā),觸發(fā)的ID:" + id + ",標(biāo)題:" + title);
}
function test2Method(id, title, currentNavGroup, dom) {
changeCurrentTabContent(currentNavGroup, "[測(cè)試2]觸發(fā),觸發(fā)的ID:" + id + ",標(biāo)題:" + title);
}
function changeCurrentTabContent(currentNavGroup, content) {
$(currentNavGroup + " div[class='layui-tab-item layui-show']").html(content);
}
});