Участник:SpaceAndrey/common.js
Материал из Space Station 14 Вики
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
console.log('=== common.js SpaceAndrey загружен ===');
(function () {
'use strict';
function initLoreSwitchers() {
document.querySelectorAll('.lore-switcher').forEach(function (sw) {
var group = sw.getAttribute('data-lore-group') || '';
var btns = sw.querySelectorAll('.lore-switcher-btn');
var contents = document.querySelectorAll(
'.lore-content[data-lore-group="' + group + '"]'
);
if (!btns.length || !contents.length) return;
function activate(tab) {
btns.forEach(function (b) {
b.classList.toggle('active', b.getAttribute('data-lore-tab') === tab);
});
contents.forEach(function (c) {
c.style.display =
(c.getAttribute('data-lore-tab') === tab) ? '' : 'none';
});
}
btns.forEach(function (b) {
b.addEventListener('click', function () {
var tab = b.getAttribute('data-lore-tab');
activate(tab);
try {
localStorage.setItem('lore-tab-' + group, tab);
} catch (e) {}
});
});
var saved = null;
try { saved = localStorage.getItem('lore-tab-' + group); } catch (e) {}
var hasSaved = saved && Array.prototype.some.call(btns, function (b) {
return b.getAttribute('data-lore-tab') === saved;
});
activate(hasSaved ? saved : btns[0].getAttribute('data-lore-tab'));
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initLoreSwitchers);
} else {
initLoreSwitchers();
}
})();