MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 570: | Строка 570: | ||
var categories = document.querySelectorAll('.categories div'); | var categories = document.querySelectorAll('.categories div'); | ||
var menus = document.querySelectorAll('.menu'); | var menus = document.querySelectorAll('.menu'); | ||
var contentDivs = document.querySelectorAll('.content div'); | var contentDivs = document.querySelectorAll('.content > div'); | ||
var menuItems = document.querySelectorAll('.menu div'); | var menuItems = document.querySelectorAll('.menu div'); | ||
var currentCategoryIndex = 0; // Индекс текущей активной категории | var currentCategoryIndex = 0; // Индекс текущей активной категории | ||
| Строка 592: | Строка 592: | ||
} | } | ||
function switchCategory( | function switchCategory(index) { | ||
clearActiveMenu(); | clearActiveMenu(); | ||
clearActiveContent(); | clearActiveContent(); | ||
var selectedMenu = document.querySelector('.' + categoryClass + '-menu'); | |||
// Скрыть все категории | |||
categories.forEach(category => { | |||
category.classList.remove('active'); | |||
category.style.display = 'none'; // Скрываем все категории | |||
}); | |||
// Установить новую активную категорию | |||
var selectedCategory = categories[index]; | |||
if (selectedCategory) { | |||
selectedCategory.classList.add('active'); | |||
selectedCategory.style.display = 'block'; // Отображаем новую активную категорию | |||
var categoryClass = selectedCategory.classList[0]; // Получаем класс категории | |||
var selectedMenu = document.querySelector('.' + categoryClass + '-menu'); | |||
if (selectedMenu) { | |||
selectedMenu.classList.add('active'); // Активируем меню соответствующей категории | |||
var firstParagraph = selectedMenu.querySelector('div'); | |||
if (firstParagraph) { | |||
switchContent(firstParagraph); // Открываем первый пункт меню | |||
} | |||
} | } | ||
} | } | ||
| Строка 619: | Строка 634: | ||
document.getElementById('prev-category').addEventListener('click', function() { | document.getElementById('prev-category').addEventListener('click', function() { | ||
currentCategoryIndex = (currentCategoryIndex - 1 + categories.length) % categories.length; // Переход на предыдущую категорию | currentCategoryIndex = (currentCategoryIndex - 1 + categories.length) % categories.length; // Переход на предыдущую категорию | ||
switchCategory( | switchCategory(currentCategoryIndex); // Переключаем на новую категорию | ||
}); | }); | ||
document.getElementById('next-category').addEventListener('click', function() { | document.getElementById('next-category').addEventListener('click', function() { | ||
currentCategoryIndex = (currentCategoryIndex + 1) % categories.length; // Переход на следующую категорию | currentCategoryIndex = (currentCategoryIndex + 1) % categories.length; // Переход на следующую категорию | ||
switchCategory( | switchCategory(currentCategoryIndex); // Переключаем на новую категорию | ||
}); | }); | ||
// Инициализация: открываем первую категорию и первый пункт | // Инициализация: открываем первую категорию и первый пункт | ||
if (categories.length > 0) { | |||
switchCategory(currentCategoryIndex); // Отображаем первую категорию | |||
switchCategory( | |||
} | } | ||
// | // Клик по элементам категорий | ||
for (var i = 0; i < categories.length; i++) { | for (var i = 0; i < categories.length; i++) { | ||
categories[i].addEventListener('click', function() { | categories[i].addEventListener('click', function() { | ||