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

мНет описания правки
мНет описания правки
Строка 488: Строка 488:
// Удаление класса active у всех контентных элементов
// Удаление класса active у всех контентных элементов
function clearActiveContent() {
function clearActiveContent() {
for (var i = 0; i < contentDivs.length; i++) {
contentDivs.forEach(function(content) {
contentDivs[i].classList.remove('active');
content.classList.remove('active');
}
});
}
}


// Удаление класса active у всех меню
// Удаление класса active у всех меню
function clearActiveMenu() {
function clearActiveMenu() {
for (var i = 0; i < menus.length; i++) {
menus.forEach(function(menu) {
menus[i].classList.remove('active');
menu.classList.remove('active');
}
});
}
}


// Удаление класса active у всех пунктов меню
// Удаление класса active у всех пунктов меню
function clearActiveMenuItems() {
function clearActiveMenuItems() {
for (var i = 0; i < menuItems.length; i++) {
menuItems.forEach(function(menuItem) {
menuItems[i].classList.remove('active');
menuItem.classList.remove('active');
}
});
}
}


Строка 571: Строка 571:
}
}
}
}
// Стрелки для переключения категорий
document.getElementById('prev-category').addEventListener('click', function() {
if (currentCategoryIndex > 0) {
currentCategoryIndex = currentCategoryIndex - 1;
switchCategory(currentCategoryIndex); // Переключение на новую категорию
}
});
document.getElementById('next-category').addEventListener('click', function() {
if (currentCategoryIndex < categories.length - 1) {
currentCategoryIndex = currentCategoryIndex + 1;
switchCategory(currentCategoryIndex); // Переключение на новую категорию
}
});


// Логика для обработки якоря
// Логика для обработки якоря
Строка 601: Строка 616:
}
}


// Инициализация: открытие категории на основе якоря или первой категории
// Инициализация: обработка якоря при загрузке
if (categories.length > 0) {
openCategoryFromAnchor();
var hash = window.location.hash.substring(1); // Получение якоря
if (hash) {
openCategoryFromAnchor(); // Если есть якорь, открываем соответствующую категорию
} else {
switchCategory(currentCategoryIndex); // В противном случае открываем первую категорию
}
updateArrowStates();
}
 
// Обработка якоря при изменении URL
window.addEventListener('hashchange', openCategoryFromAnchor);
 
// Удаление обработчиков кликов на категории
// Удаление обработчиков кликов на категории
categories.forEach(function(category) {
categories.forEach(function(category) {
Строка 628: Строка 632:
});
});
}
}
// Обработка изменения URL
window.addEventListener('hashchange', openCategoryFromAnchor);


document.querySelector('.navigation__menu-toggle').addEventListener('click', function() {
document.querySelector('.navigation__menu-toggle').addEventListener('click', function() {