$(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"), n = $(this).attr("data-id"), t = $(this).attr("data-target") m = $(this).data("index"), l = $.trim($(this).text()), k = true; if (o == undefined || $.trim(o).length == 0) { return 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) { switch (t) { case "blank"://新窗口 var p = '' + l + ' '; $(".J_menuTab").removeClass("active"); var nH = ''; $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nH); $(".J_menuTabs .page-tabs-content").append(p); g($(".J_menuTab.active")); break; case "iframe"://新窗口 var p = '' + l + ' '; $(".J_menuTab").removeClass("active"); var nH = ''; $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(nH); $(".J_menuTabs .page-tabs-content").append(p); g($(".J_menuTab.active")); break; case "open"://弹出页 window.open(o, "_blank "); break; case "expand"://无页面 break; default://框架页 //$(".J_mainContent .J_iframe0").show(); //$(".J_mainContent .J_iframe0").attr("src", o); //$(".J_mainContent .J_iframe0").attr("id", n); //$(".J_menuTab").removeClass("active"); //$(".J_menuTab").eq(0).addClass("active").text(l); //$(".J_menuTab.active").attr("data-id",o); $(".J_mainContent .J_iframe0").remove(); $(".J_menuTab").eq(0).remove(); var p = '' + l + ''; $(".J_menuTab").removeClass("active"); var nH = ''; $(".J_mainContent").find("iframe.J_iframe").hide(); $(".J_mainContent").append(nH); if ($(".J_menuTabs .page-tabs-content").find("a").length > 0) { $(p).insertBefore($(".J_menuTabs .page-tabs-content a").eq(0)); } else { $(".J_menuTabs .page-tabs-content").append(p); } g($(".J_menuTab.active")); break; } } 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") }) });