MediaWiki:Common.js: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки Метка: отменено |
Shihov (обсуждение | вклад) Нет описания правки Метка: отменено |
||
| Строка 95: | Строка 95: | ||
console.log("Элемент найден, прокручиваем к нему."); | console.log("Элемент найден, прокручиваем к нему."); | ||
// | // Получаем контейнер дерева категорий | ||
$(' | var $treeContainer = $('.CategoryTreeTag'); | ||
}, | // Рассчитываем позицию элемента относительно контейнера | ||
var itemTop = $lastOpenedItem.position().top; | |||
var itemBottom = itemTop + $lastOpenedItem.outerHeight(); | |||
// Получаем видимую область контейнера | |||
var containerTop = $treeContainer.scrollTop(); | |||
var containerBottom = containerTop + $treeContainer.height(); | |||
// Проверяем, находится ли элемент за пределами видимой области | |||
if (itemTop < containerTop || itemBottom > containerBottom) { | |||
console.log("Элемент за пределами видимой области, прокручиваем контейнер."); | |||
// Прокручиваем контейнер к элементу | |||
$treeContainer.animate({ | |||
scrollTop: itemTop + containerTop - 100 // Вычитаем 100px, чтобы элемент не прилипал к верху контейнера | |||
}, 500); | |||
} else { | |||
console.log("Элемент в видимой области, прокрутка не требуется."); | |||
} | |||
// Добавляем класс для подсветки элемента | // Добавляем класс для подсветки элемента | ||
$lastOpenedItem.addClass('last-opened-page'); | |||
// Удаляем заголовок из localStorage, чтобы больше не прокручивать | // Удаляем заголовок из localStorage, чтобы больше не прокручивать | ||