MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Метка: отменено
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
// Дождемся загрузки DOM
document.addEventListener('DOMContentLoaded', function() {
document.addEventListener('DOMContentLoaded', function() {
    // Получаем все элементы, которые будут служить переключателями
     var toggles = document.getElementsByClassName('section-toggle');
     var toggles = document.querySelectorAll('.section-toggle');
     var i;
 
     for (i = 0; i < toggles.length; i++) {
     // Перебираем каждый переключатель
     for (var i = 0; i < toggles.length; i++) {
         toggles[i].addEventListener('click', function() {
         toggles[i].addEventListener('click', function() {
            // 'this' здесь ссылается на текущий кликнутый элемент (section-toggle)
             var content = this.nextElementSibling;
             var currentToggle = this;
             if (!content) return;
 
             if (content.className.indexOf('collapsible-content') === -1) return;
             // Находим следующий соседний элемент, который является collapsible-content
            if (content.className.indexOf('collapsed') === -1) {
            // (это может быть recipe-block или section-content)
                content.className += ' collapsed';
            var content = currentToggle.nextElementSibling;
            } else {
 
                content.className = content.className.replace(/\bcollapsed\b/, '').replace(/\s{2,}/g, ' ').trim();
            // Если найден следующий элемент и он имеет класс 'collapsible-content'
             if (content && content.classList.contains('collapsible-content')) {
                // Проверяем, свернут ли блок в данный момент
                if (content.classList.contains('collapsed')) {
                    // Если свернут, разворачиваем его
                    content.classList.remove('collapsed');
                } else {
                    // Если развернут, сворачиваем его
                    content.classList.add('collapsed');
                }
             }
             }
         });
         });
     }
     }


    // Изначально сворачиваем все блоки с рецептами и эффектами
     var blocks = document.getElementsByClassName('collapsible-content');
    // Это важно, чтобы они были свернуты при первой загрузке страницы
     for (i = 0; i < blocks.length; i++) {
     var collapsibleBlocks = document.querySelectorAll('.collapsible-content');
         if (blocks[i].className.indexOf('collapsed') === -1) {
     for (var j = 0; j < collapsibleBlocks.length; j++) {
            blocks[i].className += ' collapsed';
         // Добавляем класс 'collapsed' при загрузке страницы
        }
        collapsibleBlocks[j].classList.add('collapsed');
     }
     }
});
});


console.log('Привет я работаю');
console.log('Привет я работаю');

Версия от 08:32, 9 июля 2025

document.addEventListener('DOMContentLoaded', function() {
    var toggles = document.getElementsByClassName('section-toggle');
    var i;
    for (i = 0; i < toggles.length; i++) {
        toggles[i].addEventListener('click', function() {
            var content = this.nextElementSibling;
            if (!content) return;
            if (content.className.indexOf('collapsible-content') === -1) return;
            if (content.className.indexOf('collapsed') === -1) {
                content.className += ' collapsed';
            } else {
                content.className = content.className.replace(/\bcollapsed\b/, '').replace(/\s{2,}/g, ' ').trim();
            }
        });
    }

    var blocks = document.getElementsByClassName('collapsible-content');
    for (i = 0; i < blocks.length; i++) {
        if (blocks[i].className.indexOf('collapsed') === -1) {
            blocks[i].className += ' collapsed';
        }
    }
});


console.log('Привет я работаю');