contabs.min.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. $(function() {
  2. function t(t) {
  3. var e = 0;
  4. return $(t).each(function() {
  5. e += $(this).outerWidth(!0)
  6. }), e
  7. }
  8. function e(e) {
  9. var a = t($(e).prevAll()),
  10. i = t($(e).nextAll()),
  11. n = t($(".content-tabs").children().not(".J_menuTabs")),
  12. s = $(".content-tabs").outerWidth(!0) - n,
  13. r = 0;
  14. if ($(".page-tabs-content").outerWidth() < s) r = 0;
  15. else if (i <= s - $(e).outerWidth(!0) - $(e).next().outerWidth(!0)) {
  16. if (s - $(e).next().outerWidth(!0) > i) {
  17. r = a;
  18. for (var o = e; r - $(o).outerWidth() > $(".page-tabs-content").outerWidth() - s;) r -= $(o).prev().outerWidth(), o = $(o).prev()
  19. }
  20. } else a > s - $(e).outerWidth(!0) - $(e).prev().outerWidth(!0) && (r = a - $(e).prev().outerWidth(!0));
  21. $(".page-tabs-content").animate({
  22. marginLeft: 0 - r + "px"
  23. }, "fast")
  24. }
  25. function a() {
  26. var e = Math.abs(parseInt($(".page-tabs-content").css("margin-left"))),
  27. a = t($(".content-tabs").children().not(".J_menuTabs")),
  28. i = $(".content-tabs").outerWidth(!0) - a,
  29. n = 0;
  30. if ($(".page-tabs-content").width() < i) return !1;
  31. for (var s = $(".J_menuTab:first"), r = 0; r + $(s).outerWidth(!0) <= e;) r += $(s).outerWidth(!0), s = $(s).next();
  32. if (r = 0, t($(s).prevAll()) > i) {
  33. for (; r + $(s).outerWidth(!0) < i && s.length > 0;) r += $(s).outerWidth(!0), s = $(s).prev();
  34. n = t($(s).prevAll())
  35. }
  36. $(".page-tabs-content").animate({
  37. marginLeft: 0 - n + "px"
  38. }, "fast")
  39. }
  40. function i() {
  41. var e = Math.abs(parseInt($(".page-tabs-content").css("margin-left"))),
  42. a = t($(".content-tabs").children().not(".J_menuTabs")),
  43. i = $(".content-tabs").outerWidth(!0) - a,
  44. n = 0;
  45. if ($(".page-tabs-content").width() < i) return !1;
  46. for (var s = $(".J_menuTab:first"), r = 0; r + $(s).outerWidth(!0) <= e;) r += $(s).outerWidth(!0), s = $(s).next();
  47. for (r = 0; r + $(s).outerWidth(!0) < i && s.length > 0;) r += $(s).outerWidth(!0), s = $(s).next();
  48. n = t($(s).prevAll()), n > 0 && $(".page-tabs-content").animate({
  49. marginLeft: 0 - n + "px"
  50. }, "fast")
  51. }
  52. function n() {
  53. var t = $(this).attr("href"),
  54. a = $(this).data("index"),
  55. i = $.trim($(this).text()),
  56. n = !0;
  57. if (void 0 == t || 0 == $.trim(t).length) return !1;
  58. if ($(".J_menuTab").each(function() {
  59. return $(this).data("id") == t ? ($(this).hasClass("active") || ($(this).addClass("active").siblings(".J_menuTab").removeClass("active"), e(this), $(".J_mainContent .J_iframe").each(function() {
  60. //return $(this).data("id") == t ? ($(this).show().siblings(".J_iframe").hide(), !1) : void 0
  61. })), n = !1, !1) : void 0
  62. }), n) {
  63. var s = '<a href="javascript:;" class="active J_menuTab" data-id="' + t + '">' + i + ' <i class="fa fa-times-circle"></i></a>';
  64. $(".J_menuTab").removeClass("active");
  65. var r = '<iframe class="J_iframe" name="iframe' + a + '" width="100%" height="100%" src="' + t + '" frameborder="0" data-id="' + t + '" seamless></iframe>';
  66. $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(r);
  67. var o = layer.load();
  68. $(".J_mainContent iframe:visible").load(function() {
  69. layer.close(o)
  70. }), $(".J_menuTabs .page-tabs-content").append(s), e($(".J_menuTab.active"))
  71. }else{
  72. //$(this).show().siblings(".J_iframe").hide();
  73. console.log($(this));
  74. $(".J_iframe").hide();
  75. var o = layer.load();
  76. $(".J_iframe[data-id='"+$(this).attr("href")+"']").attr("src",$(".J_iframe[data-id='"+$(this).attr("href")+"']").attr("data-id")+"?"+Math.random()).load(function(){
  77. $(this).show();
  78. layer.close(o)
  79. });
  80. }
  81. return !1
  82. }
  83. function s() {
  84. var t = $(this).parents(".J_menuTab").data("id"),
  85. a = $(this).parents(".J_menuTab").width();
  86. if ($(this).parents(".J_menuTab").hasClass("active")) {
  87. if ($(this).parents(".J_menuTab").next(".J_menuTab").size()) {
  88. var i = $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").data("id");
  89. $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").addClass("active"), $(".J_mainContent .J_iframe").each(function() {
  90. return $(this).data("id") == i ? ($(this).show().siblings(".J_iframe").hide(), !1) : void 0
  91. });
  92. var n = parseInt($(".page-tabs-content").css("margin-left"));
  93. 0 > n && $(".page-tabs-content").animate({
  94. marginLeft: n + a + "px"
  95. }, "fast"), $(this).parents(".J_menuTab").remove(), $(".J_mainContent .J_iframe").each(function() {
  96. return $(this).data("id") == t ? ($(this).remove(), !1) : void 0
  97. })
  98. }
  99. if ($(this).parents(".J_menuTab").prev(".J_menuTab").size()) {
  100. var i = $(this).parents(".J_menuTab").prev(".J_menuTab:last").data("id");
  101. $(this).parents(".J_menuTab").prev(".J_menuTab:last").addClass("active"), $(".J_mainContent .J_iframe").each(function() {
  102. return $(this).data("id") == i ? ($(this).show().siblings(".J_iframe").hide(), !1) : void 0
  103. }), $(this).parents(".J_menuTab").remove(), $(".J_mainContent .J_iframe").each(function() {
  104. return $(this).data("id") == t ? ($(this).remove(), !1) : void 0
  105. })
  106. }
  107. } else $(this).parents(".J_menuTab").remove(), $(".J_mainContent .J_iframe").each(function() {
  108. return $(this).data("id") == t ? ($(this).remove(), !1) : void 0
  109. }), e($(".J_menuTab.active"));
  110. return !1
  111. }
  112. function r() {
  113. $(".page-tabs-content").children("[data-id]").not(":first").not(".active").each(function() {
  114. $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove(), $(this).remove()
  115. }), $(".page-tabs-content").css("margin-left", "0")
  116. }
  117. function o() {
  118. e($(".J_menuTab.active"))
  119. }
  120. function d() {
  121. if (!$(this).hasClass("active")) {
  122. var t = $(this).data("id");
  123. $(".J_mainContent .J_iframe").each(function() {
  124. return $(this).data("id") == t ? ($(this).show().siblings(".J_iframe").hide(), !1) : void 0
  125. }), $(this).addClass("active").siblings(".J_menuTab").removeClass("active"), e(this)
  126. }
  127. }
  128. function c() {
  129. var t = $('.J_iframe[data-id="' + $(this).data("id") + '"]'),
  130. e = t.attr("src"),
  131. a = layer.load();
  132. t.attr("src", e).load(function() {
  133. layer.close(a)
  134. })
  135. }
  136. $(".J_menuItem").each(function(t) {
  137. $(this).attr("data-index") || $(this).attr("data-index", t)
  138. }), $(".J_menuItem").on("click", n), $(".J_menuTabs").on("click", ".J_menuTab i", s), $(".J_tabCloseOther").on("click", r), $(".J_tabShowActive").on("click", o), $(".J_menuTabs").on("click", ".J_menuTab", d), $(".J_menuTabs").on("dblclick", ".J_menuTab", c), $(".J_tabLeft").on("click", a), $(".J_tabRight").on("click", i), $(".J_tabCloseAll").on("click", function() {
  139. $(".page-tabs-content").children("[data-id]").not(":first").each(function() {
  140. $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove(), $(this).remove()
  141. }), $(".page-tabs-content").children("[data-id]:first").each(function() {
  142. $('.J_iframe[data-id="' + $(this).data("id") + '"]').show(), $(this).addClass("active")
  143. }), $(".page-tabs-content").css("margin-left", "0")
  144. })
  145. });