Authored by TaoHuang

sync tab status

... ... @@ -110,7 +110,7 @@
{{#list}}
<a class="anchor {{#isEqualOr ../chooseTab link}}active{{/isEqualOr}}"
tab= {{link}} style="{{tabStyle @index ../num}}">
<img src="{{src}}" alt="">
<img src="{{src}}" style="{{#isEqualOr ../chooseTab link}} {{^}}display: none;{{/isEqualOr}}" alt="">
</a>
{{/list}}
</div>
... ...
{
"name": "yohobuywap-node",
"version": "6.9.2-15",
"version": "6.9.2-16",
"private": true,
"description": "A New Yohobuy Project With Express",
"repository": {
... ...
... ... @@ -170,18 +170,34 @@ function videoInit() {
});
}
let store = {
tab: {
tabs: [],
cloneTabs: []
}
};
function tabInit() {
$('.tab-container').each(function() {
var $this = $(this);
var tabs = $this.find('a.anchor');
var curTab = $this.find('a.anchor.active').attr('tab');
store.tab.tabs = tabs;
tabs.on('click', function() {
var tab = $(this);
var tabname = tab.attr('tab');
if (tab.hasClass('active')) {
return;
}
tab.toggleClass('active');
tab.find('img').show();
tab.siblings('a.anchor').removeClass('active');
tab.siblings('a.anchor').find('img').hide();
$('div[tabname]').each(function(index, el) {
let $el = $(el);
... ... @@ -215,6 +231,8 @@ function tabFixInit() {
let doc = $(document);
let cloneTab = tabNavFix.clone(true, true).removeAttr('id').addClass('fixnav').prependTo($('.feature-page'));
store.tab.cloneTabs = cloneTab.find('a.anchor');
$(window).scroll(function() {
let top = doc.scrollTop();
let top1 = curTab.offset().top;
... ... @@ -228,6 +246,50 @@ function tabFixInit() {
}
}
function syncTabsStatus() {
if (store.tab.tabs.length) {
store.tab.tabs.on('click', function() {
var tabname = $(this).attr('tab');
var isActive = $(this).hasClass('active');
store.tab.cloneTabs.each(function(index, ele) {
var $ele = $(ele);
if ($ele.attr('tab') === tabname) {
if (isActive) {
$ele.addClass('active');
$ele.find('img').show();
$ele.siblings('a.anchor').removeClass('active');
$ele.siblings('a.anchor').find('img').hide();
}
}
});
});
}
if (store.tab.cloneTabs.length) {
store.tab.cloneTabs.on('click', function() {
var tabname = $(this).attr('tab');
var isActive = $(this).hasClass('active');
store.tab.tabs.each(function(index, ele) {
var $ele = $(ele);
if ($ele.attr('tab') === tabname) {
if (isActive) {
$ele.addClass('active');
$ele.find('img').show();
$ele.siblings('a.anchor').removeClass('active');
$ele.siblings('a.anchor').find('img').hide();
}
}
});
});
}
}
function modalInit() {
$('a.modalimg').on('click', function() {
$($(this).next('.modal')[0]).show();
... ... @@ -970,6 +1032,9 @@ $(function() {
// tab 顶悬浮
tabFixInit();
// 同步 tab 和 tab 顶悬浮的选中状态
syncTabsStatus();
if (sessionStorage) {
// 微信中点击之后,返回跳到指定位置
let totalH, scH;
... ...