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

Нет описания правки
Нет описания правки
 
Строка 34: Строка 34:


// Автоскролл после открытия спойлера в меню Citizen
// Автоскролл после открытия спойлера в меню Citizen
$(document).on('click', '.citizen-menu .mw-collapsible-toggle', function () {
$(document).on('click', '.dropdown .dropbtn', function () {
    var $menuItem = $(this).closest('.mw-collapsible');


     // Даем анимации Citizen завершиться (200–300 мс)
    var $dropdown = $(this).closest('.dropdown');
    var $content = $dropdown.find('.dropdown-content');
 
     // Даем CSS-анимации завершиться, если она есть
     setTimeout(function () {
     setTimeout(function () {
        if ($menuItem.hasClass('mw-collapsed')) return; // Если закрыто — не скроллим


         var top = $menuItem.offset().top - 80; // Немного отступа сверху
         // Если блок теперь виден — скроллим к нему
        $('html, body').animate({ scrollTop: top }, 300);
        if ($content.is(':visible')) {
     }, 250);
            var top = $dropdown.offset().top - 80; // отступ сверху (регулируется)
            $('html, body').animate({ scrollTop: top }, 300);
        }
 
     }, 200);
});
});