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

мНет описания правки
мНет описания правки
Строка 590: Строка 590:
function openCategoryFromAnchor() {
function openCategoryFromAnchor() {
var hash = window.location.hash.substring(1); // Получение якоря без #
var hash = window.location.hash.substring(1); // Получение якоря без #
if (!hash) return; // Выход, если якорь пустой
if (!hash) return false; // Выход, если якорь пустой


// Попытка найти пункт меню или категорию с соответствующим ID
// Попытка найти пункт меню или категорию с соответствующим ID
Строка 602: Строка 602:
switchContent(targetMenuItem); // Открытие пункта меню
switchContent(targetMenuItem); // Открытие пункта меню
targetMenuItem.scrollIntoView(); // Прокрутка к пункту
targetMenuItem.scrollIntoView(); // Прокрутка к пункту
return true;
}
}
} else {
} else {
Строка 611: Строка 612:
switchCategory(categoryIndex); // Открытие категории
switchCategory(categoryIndex); // Открытие категории
targetCategory.scrollIntoView(); // Прокрутка к категории
targetCategory.scrollIntoView(); // Прокрутка к категории
return true;
}
}
}
}
}
}
return false; // Возвращаем false, если якорь не обработан
}
}


// Открытие первой категории и первого пункта
// Обработка якоря при загрузке
if (categories.length > 0) {
if (!openCategoryFromAnchor() && categories.length > 0) {
// Если якоря нет или он не сработал, открываем первую категорию
switchCategory(currentCategoryIndex);
switchCategory(currentCategoryIndex);
updateArrowStates();
updateArrowStates();
}
}
// Обработка якоря при загрузке
openCategoryFromAnchor();


// Обработка якоря при изменении URL
// Обработка якоря при изменении URL