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

Нет описания правки
Метка: ручная отмена
Нет описания правки
Строка 53: Строка 53:


$(document).ready(function() {
$(document).ready(function() {
     console.log("Скрипт дерева категорий загружен.");
     console.log("Скрипт дерева категорий загружен.");


     // Проверяем, авторизован ли пользователь
     // Проверяем, авторизован ли пользователь
Строка 109: Строка 115:


     function scrollToCategory(categoryTitle, callback) {
     function scrollToCategory(categoryTitle, callback) {
         var $categoryItem = $('#p-categorytree-portlet .CategoryTreeItem').filter(function() {
         var $categoryItem = $('#p-categorytree-portlet .CategoryTreeItem').filter(function() {
             return $(this).text().trim() === categoryTitle;
             return $(this).text().trim() === categoryTitle;
         });
         });


if ($categoryItem.length) {
if ($categoryItem.length) {
Строка 117: Строка 128:


     var $portlet = $('#p-categorytree-portlet');
     var $portlet = $('#p-categorytree-portlet');
 
$portlet.addClass('category-hidden');
console.log('скрываем дерево')
    // Скрываем дерево, но оставляем место под него
     // Выполняем прокрутку
    $portlet.css('visibility', 'hidden');
 
     // Мгновенная прокрутка
     $portlet.scrollTop($categoryItem.position().top - 50);
     $portlet.scrollTop($categoryItem.position().top - 50);


Строка 129: Строка 137:
     $categoryItem.addClass('highlighted');
     $categoryItem.addClass('highlighted');


console.log('показываем дерево')
     // Показываем дерево
     // Показываем дерево обратно
     setTimeout(function() {
     setTimeout(function() {
         $portlet.css('visibility', 'visible');
         $portlet.removeClass('category-hidden');
         if (callback) callback(true);
         if (callback) callback(true);
     }, 0); // Можно задержку 100-200 мс если хочешь слегка "смягчить"
     }, 0); // можно увеличить задержку при необходимости


     localStorage.setItem('highlightedCategory', categoryTitle);
     localStorage.setItem('highlightedCategory', categoryTitle);
     return true;
     return true;
}
}