function addTabs(options) { var dataUrl = options.url, dataIndex = options.id, menuName = options.title, flag = true; if (dataUrl == undefined || $.trim(dataUrl).length == 0)return false; // 选项卡菜单已存在 $('.J_menuTab').each(function () { if ($(this).data('id') == dataUrl) { if (!$(this).hasClass('active')) { $(this).addClass('active').siblings('.J_menuTab').removeClass('active'); scrollToTabDefined(this); // 显示tab对应的内容区 $('.J_mainContent .J_iframe').each(function () { if ($(this).data('id') == dataUrl) { $(this).show().siblings('.J_iframe').hide(); return false; } }); } flag = false; return false; } }); // 选项卡菜单不存在 if (flag) { var str = '' + menuName + ' '; $('.J_menuTab').removeClass('active'); // 添加选项卡对应的iframe var str1 = ''; $('.J_mainContent').find('iframe.J_iframe').hide().parents('.J_mainContent').append(str1); //显示loading提示 var loading = layer.load(); $('.J_mainContent iframe:visible').load(function () { //iframe加载完成后隐藏loading提示 layer.close(loading); }); // 添加选项卡 $('.J_menuTabs .page-tabs-content').append(str); scrollToTabDefined($('.J_menuTab.active')); } //刷新Tab var target = $('.J_iframe[data-id="' + dataUrl + '"]'); target.attr('src', dataUrl) return false; }; //计算元素集合的总宽度 function calSumWidth(elements) { var width = 0; $(elements).each(function () { width += $(this).outerWidth(true); }); return width; } //滚动到指定选项卡 function scrollToTabDefined(element) { var marginLeftVal = calSumWidth($(element).prevAll()), marginRightVal = calSumWidth($(element).nextAll()); // 可视区域非tab宽度 var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".J_menuTabs")); //可视区域tab宽度 var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth; //实际滚动宽度 var scrollVal = 0; if ($(".page-tabs-content").outerWidth() < visibleWidth) { scrollVal = 0; } else if (marginRightVal <= (visibleWidth - $(element).outerWidth(true) - $(element).next().outerWidth(true))) { if ((visibleWidth - $(element).next().outerWidth(true)) > marginRightVal) { scrollVal = marginLeftVal; var tabElement = element; while ((scrollVal - $(tabElement).outerWidth()) > ($(".page-tabs-content").outerWidth() - visibleWidth)) { scrollVal -= $(tabElement).prev().outerWidth(); tabElement = $(tabElement).prev(); } } } else if (marginLeftVal > (visibleWidth - $(element).outerWidth(true) - $(element).prev().outerWidth(true))) { scrollVal = marginLeftVal - $(element).prev().outerWidth(true); } $('.page-tabs-content').animate({ marginLeft: 0 - scrollVal + 'px' }, "fast"); } //update-begin--Author:zhoujf Date:20170707 for:TASK #2003 【UI改进】列表加载慢的时候会出现白板-------------------- function hiddenloading(){ $("#panelloadingDiv").hide(); } function showloading(){ $("#panelloadingDiv").show(); } //update-end--Author:zhoujf Date:20170707 for:TASK #2003 【UI改进】列表加载慢的时候会出现白板--------------------