MediaWiki:Test.js

Страница интерфейса MediaWiki

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
mw.loader.using('jquery', function() {
  $(function() {
    $('.faction-header').each(function() {
      const $header = $(this);
      const $list = $header.next('.faction-list');
      const $arrow = $header.find('.arrow');
      
      $list.data('is-open', false);
      
      $header.on('click', function() {
        const isOpen = !$list.data('is-open');
        
        // Анимация стрелки
        $arrow.css('transform', isOpen ? 'rotate(180deg)' : 'rotate(0deg)');
        
        // Анимация списка
        $list.stop().slideToggle({
          duration: 300,
          start: function() {
            if (isOpen) {
              $(this).css('display', 'flex');
            }
          }
        });
        
        $list.find('.faction-item').each(function(index) {
          $(this).delay(50 * index).queue(function(next) {
            $(this).css({
              opacity: isOpen ? 1 : 0,
              transform: isOpen ? 'translateY(0)' : 'translateY(-10px)'
            });
            next();
          });
        });
        
        $list.data('is-open', isOpen);
      });
    });
  });
});