$(function () { function f(l) { var k = 0; $(l).each(function () { k += $(this).outerWidth(true) }); return k } function g(n) { var o = f($(n).prevAll()), q = f($(n).nextAll()); var l = f($(".content-tabs").children().not(".J_menuTabs")); var k = $(".content-tabs").outerWidth(true) - l; var p = 0; if ($(".page-tabs-content").outerWidth() < k) { p = 0 } else { if (q <= (k - $(n).outerWidth(true) - $(n).next().outerWidth(true))) { if ((k - $(n).next().outerWidth(true)) > q) { p = o; var m = n; while ((p - $(m).outerWidth()) > ($(".page-tabs-content").outerWidth() - k)) { p -= $(m).prev().outerWidth(); m = $(m).prev() } } } else { if (o > (k - $(n).outerWidth(true) - $(n).prev().outerWidth(true))) { p = o - $(n).prev().outerWidth(true) } } } $(".page-tabs-content").animate({marginLeft: 0 - p + "px"}, "fast") } function a() { var o = Math.abs(parseInt($(".page-tabs-content").css("margin-left"))); var l = f($(".content-tabs").children().not(".J_menuTabs")); var k = $(".content-tabs").outerWidth(true) - l; var p = 0; if ($(".page-tabs-content").width() < k) { return false } else { var m = $(".J_menuTab:first"); var n = 0; while ((n + $(m).outerWidth(true)) <= o) { n += $(m).outerWidth(true); m = $(m).next() } n = 0; if (f($(m).prevAll()) > k) { while ((n + $(m).outerWidth(true)) < (k) && m.length > 0) { n += $(m).outerWidth(true); m = $(m).prev() } p = f($(m).prevAll()) } } $(".page-tabs-content").animate({marginLeft: 0 - p + "px"}, "fast") } function b() { var o = Math.abs(parseInt($(".page-tabs-content").css("margin-left"))); var l = f($(".content-tabs").children().not(".J_menuTabs")); var k = $(".content-tabs").outerWidth(true) - l; var p = 0; if ($(".page-tabs-content").width() < k) { return false } else { var m = $(".J_menuTab:first"); var n = 0; while ((n + $(m).outerWidth(true)) <= o) { n += $(m).outerWidth(true); m = $(m).next() } n = 0; while ((n + $(m).outerWidth(true)) < (k) && m.length > 0) { n += $(m).outerWidth(true); m = $(m).next() } p = f($(m).prevAll()); if (p > 0) { $(".page-tabs-content").animate({marginLeft: 0 - p + "px"}, "fast") } } } $(".J_menuItem").each(function (k) { if (!$(this).attr("data-index")) { $(this).attr("data-index", k) } }); function c() { var o = $(this).attr("href"), m = $(this).data("index"), l = $.trim($(this).text()), k = true; // console.log("-------------- start ---------"); // console.log("o="+o+";m="+m+";l="+l); // console.log("data-id="+$(this).data("id")); // console.log("-------------- end ---------"); //获取该页面权限信息:0-允许访问;admin-仅管理员可以访问 // var power = $(this).data("id"); // //获取当前登录用户信息 // var storage = window.localStorage; // var user = storage["LOGIN_USER"]; // // console.log("----当前登录用户user="+user); // if(power == "admin" && user != "admin"){ // //目标跳转文件 // o = "no-access.html"; // m = "99"; // l = "通知"; // } if (o == undefined || $.trim(o).length == 0) { return false } //2021年3月10日 17:45:00 调整页面为单个Tab页面打开 $(".J_menuTab")[0].innerText = l; $(".J_iframe")[0].src = o; k = false; // $(".J_menuTab").each(function () { // if ($(this).data("id") == o) { // if (!$(this).hasClass("active")) { // $(this).addClass("active").siblings(".J_menuTab").removeClass("active"); // g(this); // $(".J_mainContent .J_iframe").each(function () { // if ($(this).data("id") == o) { // $(this).show().siblings(".J_iframe").hide(); // return false // } // }) // } // k = false; // return false // } // }); if (k) { var p = '' + l + ' '; $(".J_menuTab").removeClass("active"); var n = ''; $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(n); $(".J_menuTabs .page-tabs-content").append(p); g($(".J_menuTab.active")) } return false } $(".J_menuItem").on("click", c); function h() { var m = $(this).parents(".J_menuTab").data("id"); var l = $(this).parents(".J_menuTab").width(); if ($(this).parents(".J_menuTab").hasClass("active")) { if ($(this).parents(".J_menuTab").next(".J_menuTab").size()) { var k = $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").data("id"); $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").addClass("active"); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == k) { $(this).show().siblings(".J_iframe").hide(); return false } }); var n = parseInt($(".page-tabs-content").css("margin-left")); if (n < 0) { $(".page-tabs-content").animate({marginLeft: (n + l) + "px"}, "fast") } $(this).parents(".J_menuTab").remove(); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == m) { $(this).remove(); return false } }) } if ($(this).parents(".J_menuTab").prev(".J_menuTab").size()) { var k = $(this).parents(".J_menuTab").prev(".J_menuTab:last").data("id"); $(this).parents(".J_menuTab").prev(".J_menuTab:last").addClass("active"); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == k) { $(this).show().siblings(".J_iframe").hide(); return false } }); $(this).parents(".J_menuTab").remove(); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == m) { $(this).remove(); return false } }) } } else { $(this).parents(".J_menuTab").remove(); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == m) { $(this).remove(); return false } }); g($(".J_menuTab.active")) } return false } $(".J_menuTabs").on("click", ".J_menuTab i", h); function i() { $(".page-tabs-content").children("[data-id]").not(":first").not(".active").each(function () { $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove(); $(this).remove() }); $(".page-tabs-content").css("margin-left", "0") } $(".J_tabCloseOther").on("click", i); function j() { g($(".J_menuTab.active")) } $(".J_tabShowActive").on("click", j); function e() { if (!$(this).hasClass("active")) { var k = $(this).data("id"); $(".J_mainContent .J_iframe").each(function () { if ($(this).data("id") == k) { $(this).show().siblings(".J_iframe").hide(); return false } }); $(this).addClass("active").siblings(".J_menuTab").removeClass("active"); g(this) } } $(".J_menuTabs").on("click", ".J_menuTab", e); function d() { var l = $('.J_iframe[data-id="' + $(this).data("id") + '"]'); var k = l.attr("src") } $(".J_menuTabs").on("dblclick", ".J_menuTab", d); $(".J_tabLeft").on("click", a); $(".J_tabRight").on("click", b); $(".J_tabCloseAll").on("click", function () { $(".page-tabs-content").children("[data-id]").not(":first").each(function () { $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove(); $(this).remove() }); $(".page-tabs-content").children("[data-id]:first").each(function () { $('.J_iframe[data-id="' + $(this).data("id") + '"]').show(); $(this).addClass("active") }); $(".page-tabs-content").css("margin-left", "0") }) //自定义方法打开新的页面 window.openTab = function (url, name, alias) { if (url == undefined || $.trim(url).length == 0) { return false } if (alias == undefined) { alias = "y";//没有任何意义 } //2021年3月10日 17:45:00 调整页面为单个Tab页面打开 $(".J_menuTab")[0].innerText = name; $(".J_iframe")[0].src = url; k = false; // $(".J_menuTab").each(function () { // if ($(this).data("id") == url) {//如果菜单已经打开 // if (!$(this).hasClass("active")) { // $(this).addClass("active").siblings(".J_menuTab").removeClass("active"); // g(this); // $(".J_mainContent .J_iframe").each(function () { // if ($(this).data("id") == url) { // $(this).show().siblings(".J_iframe").hide(); // return false // } // }) // } // k = false; // return false // } // }); if (k) { var p = '' + name + ' '; $(".J_menuTab").removeClass("active"); var n = ''; $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(n); $(".J_menuTabs .page-tabs-content").append(p); g($(".J_menuTab.active")) } return false } });