Участник:SpaceAndrey/common.js

Версия от 21:45, 29 сентября 2026; 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) r...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
(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();
    }
})();