MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 569: | Строка 569: | ||
// Функция для обработки якорей | // Функция для обработки якорей | ||
function handleAnchorChange() { | |||
var anchor = window.location.hash.substring(1); | |||
var decodedAnchor = decodeURIComponent(anchor); | |||
console.log("Current anchor:", decodedAnchor); | |||
var found = false; | |||
for (var i = 0; i < categories.length; i++) { | |||
console.log("Checking category ID:", categories[i].id); | |||
if (categories[i].id === decodedAnchor) { | |||
switchCategory(i); | |||
found = true; | |||
break; | |||
} | |||
} | |||
if (!found) { | |||
for (var i = 0; i < menuItems.length; i++) { | |||
console.log("Checking menu item ID:", menuItems[i].id); | |||
if (menuItems[i].id === decodedAnchor) { | |||
var categoryIndex = Array.prototype.indexOf.call(categories, menuItems[i].closest('.navigation__menu-item').previousElementSibling); | |||
if (categoryIndex !== -1) { | |||
switchCategory(categoryIndex); | |||
switchContent(menuItems[i]); | |||
} | |||
found = true; | |||
break; | |||
} | |||
} | |||
} | |||
if (!found) { | |||
switchCategory(0); | |||
} | |||
} | |||
// Проверяем якорь при загрузке страницы | // Проверяем якорь при загрузке страницы | ||