废话不多说,直接上代码。
html 部分:
<div class="lay-new-tab" lay-id="home/homepage">主页</div>
Js 部分:
var $ = jQuery = layui.$; // 声明引用jQuery
$(document).on("click", ".lay-new-tab", function() { // 指定监听lay-new-tab这个Class类的点击事件
var o = $(this).attr('lay-id'); // lay-id为需要打开Tab页面的地址,方便区分lay-href
$('.layui-nav-item a', window.parent.document).each(function(){ //遍历父页面左侧菜单项
var l = $(this).attr('lay-href'); // layui默认打开Tab页面的地址的Attr
var m = $(this).text(); // layui默认打开Tab页面的地址的页面标题
if(l == o){ // 判断遍历的菜单lay-href地址与点击项的lay-id地址相同
$('dd.layui-this').removeClass('layui-this'); // 移除原来选中的菜单项
$('li.layui-nav-itemed').removeClass('layui-nav-itemed'); // 移除原来选中的菜单项的父菜单项
$(this).parent().addClass('layui-this'); // 选中匹配的菜单项
$(this).parents('li.layui-nav-item').addClass('layui-nav-itemed'); // 选中匹配的菜单项的父菜单项
top.layui.index.openTabsPage(o, m); // 重新实现lay-href打开Tab标签页
});
});
$(document).on("click", ".layui-tab-title li", function() { // 监听标题栏点击事件
var o = $(this).attr('lay-id'); // lay-id为标题栏中保留的Tab页面的地址
$('.layui-nav-item a').each(function(){ // 遍历左侧菜单项
var l = $(this).attr('lay-href'); // layui默认打开Tab页面的地址的Attr
var m = $(this).text(); // layui默认打开Tab页面的地址的页面标题
if(l == o){ // 判断遍历的菜单lay-href地址与点击项的lay-id地址相同
$('dd.layui-this').removeClass('layui-this'); // 移除原来选中的菜单项
$('li.layui-nav-itemed').removeClass('layui-nav-itemed'); // 移除原来选中的菜单项的父菜单项
$(this).parent().addClass('layui-this'); // 选中匹配的菜单项
$(this).parents('li.layui-nav-item').addClass('layui-nav-itemed'); // 选中匹配的菜单项的父菜单项
top.layui.index.openTabsPage(o, m); // 重新实现lay-href打开Tab标签页
}
});
});
如果觉得对你有帮助的话,可以关注下作者,谢谢~