在实际项目开发过程中,会遇到使用layui时,在导航栏处,点击菜单时,弹出的页面只需要一个,不用新增多个导航栏tab,那么久需要修改下layui的js了,原理为在弹出时,判断需要执行tabAdd方法之前,先关闭其他的导航栏,就可以实现了。代码如下:
this.config = {
topMenuFilter : "fsTopMenu",// 头部菜单
leftMenuFilter : "fsLeftMenu",// 左边菜单
tabFilter : "fsTab"// 导航栏
}
/**
* 新增tab
*/
FsTab.prototype.add = function(elem) {
var thisTab = this;
var layId = $(elem).attr("lay-id");
if ($.isEmpty(layId)) {
layId = $.uuid();
}
// 判断导航栏是否存在
if ($('#fsTabMenu>li[lay-id="' + layId + '"]').length == 0) {
// 在新增之前关闭其他的导航栏 add by wangchangyou 20180818
$("#fsTabMenu").children('li[lay-id]').each(function() {
var curId = $(this).attr('lay-id');
if (curId != layId && curId != -1)
element.tabDelete(thisTab.config.tabF