define("/Assets/enp/v2/js/ebg-module/ebg-module-tab.js", ["/Assets/enp/v2/js/vendor/jquery.cubeMenu.js"], function (require, factory) { //tabswitch var defaultTabOptions = { tab: ".ebg-tab", tabHead: ">.ebg-tab-head", tabHeadItem: ".ebg-tab-head-item", tabCon: ">.ebg-tab-con", tabConItem: ">.ebg-tab-con-item", activeClass: "active", disableClass: "disabled", beforeChange: function () { }, change: function () { } } function switchTab($target, opts) { var $tabHead = $target.find(opts.tabHead); var $tabCon = $target.find(opts.tabCon); $tabHead.off('click.tab', opts.tabHeadItem).on('click.tab', opts.tabHeadItem, function (event) { var $tabHeadItem = $(this); var tabId = $tabHeadItem.data("tabid"); //激活状态和禁用状态不启用 if ($tabHeadItem.hasClass(opts.activeClass) || $tabHeadItem.hasClass(opts.disableClass) || !tabId) { window.console && console.log("has active class or disable class or no tabid!"); return; } //可以拦截改变 if (opts.beforeChange($tabHeadItem, tabId, $target) === false) { return; } //动态更新con item var $tabConAllItem = $tabCon.find(opts.tabConItem); var $activeTabConItem = $tabConAllItem.filter(function () { return $(this).data("tabid") == tabId; }); //动态更新head item $target.find(opts.tabHeadItem).removeClass("active"); $tabHeadItem.addClass("active"); $tabHeadItem.find("img").trigger("appear"); $tabConAllItem.removeClass("active"); $activeTabConItem.addClass("active"); $activeTabConItem.find("img").trigger("appear"); opts.change(tabId, $target); }); } // 计算li的长度,如果超出了一行,就让li居左 function calculationLiLength($target) { if ($(window).width() > 1200) { var liw = 0; var ulw = $($target).find('.tab-menus ul').width(); $($target).find('.ebg-tab-head-item').each(function () { liw += $(this).outerWidth(true); }) if (liw > ulw) { $($target).find('.tab-menus ul').css('textAlign', 'left'); } } } //模块数据 var moduleData = { switchTab: function (opts) { $(opts.tab).each(function () { var $this = $(this); if ($this.data("switch-tab-init")) { return; } $this.data("switch-tab-init", true); var newOpts = $.extend({}, defaultTabOptions, opts); switchTab($(this), newOpts); calculationLiLength(opts.tab); }) }, navInit: function ($target,media,mobile) { $target.each(function () { var $this = $(this); if ($this.is(":hidden") || $this.data("cube-init")) { return; } $this.data("cube-init", true); $this.cubeMenu({ viewMoreLabel: '', viewMoreMaxWidth:media, mobile:mobile, }); }) }, } return moduleData; });