Глобальные настройки времени

Библиотека AOS (Animate on Scroll) предоставляет гибкие средства управления анимацией элементов при прокрутке страницы. Одним из ключевых аспектов настройки является время анимации и задержки её запуска. В AOS временные параметры можно настраивать как на уровне отдельных элементов, так и глобально для всей страницы. Глобальные настройки позволяют задать стандартное поведение анимаций без необходимости повторного указания параметров для каждого элемента.


Инициализация AOS с глобальными временными параметрами

Для работы с глобальными настройками времени используется объект конфигурации при вызове функции AOS.init(). Основные параметры, влияющие на продолжительность и задержку анимации:

AOS.init({
  duration: 1200,   // Продолжительность анимации в миллисекундах
  delay: 100,       // Задержка перед запуском анимации в миллисекундах
  easing: 'ease-in-out', // Функция ускорения анимации
  once: true        // Анимация воспроизводится только один раз
});
  • duration — ключевой параметр, определяющий, сколько времени будет выполняться анимация элемента. Значение задается в миллисекундах. Например, duration: 1500 означает, что анимация продлится 1.5 секунды. Этот параметр применяется ко всем элементам, если для конкретного элемента не задана собственная продолжительность через атрибут data-aos-duration.
  • delay — устанавливает задержку перед началом анимации после появления элемента в зоне видимости. Может использоваться для создания эффектов последовательного появления нескольких блоков.
  • easing — определяет кривую ускорения анимации. AOS поддерживает стандартные CSS-функции ease, ease-in, ease-out, ease-in-out, а также линейное linear. Правильный выбор easing позволяет добиться более естественного движения элементов.
  • once — параметр, который управляет повторным воспроизведением анимации при скролле. Значение true гарантирует, что анимация будет выполнена один раз, а false — каждый раз при попадании элемента в зону видимости.

Связь глобальных и локальных временных параметров

Хотя глобальные параметры задают стандартное поведение, их можно переопределять для отдельных элементов с помощью атрибутов:

  • data-aos-duration="2000" — индивидуальная продолжительность анимации конкретного элемента.
  • data-aos-delay="300" — индивидуальная задержка для элемента.
  • data-aos-easing="ease-out" — локальная кривая ускорения для выбранного блока.

Если атрибут не указан, элемент наследует глобальные настройки из AOS.init(). Это позволяет создавать унифицированный стиль анимации на странице, сохраняя при этом возможность гибкой кастомизации отдельных блоков.


Последовательное выполнение анимаций

Для создания эффектов цепочки появления элементов можно использовать комбинацию глобального параметра delay и локальных значений data-aos-delay. Например:

Элемент 1
Элемент 2
Элемент 3

В этом примере элементы будут появляться один за другим с шагом 200 мс. Глобальный параметр duration определяет время самой анимации, а локальный data-aos-delay — задержку для каждого элемента.


Динамическая смена времени анимации через JavaScript

AOS позволяет менять временные параметры после инициализации. Для этого используется метод refresh():

AOS.init({
  duration: 800,
  delay: 50
});

// Через 3 секунды увеличиваем продолжительность анимации
setTimeout(() => {
  AOS.init({
    duration: 1500,
    delay: 100
  });
  AOS.refresh();
}, 3000);

Метод refresh() обновляет внутренние данные AOS о расположении элементов и их анимации, что особенно важно, если структура DOM меняется динамически.


Влияние глобальных настроек на производительность

  • Большие значения duration и delay могут визуально замедлять интерфейс, особенно на страницах с большим количеством анимированных элементов.
  • Использование умеренных значений помогает сохранить плавность скролла и отклик страницы.
  • Рекомендуется комбинировать глобальные параметры для единообразия с локальными для ключевых элементов, чтобы создать динамичный, но отзывчивый интерфейс.

Сводная таблица глобальных временных параметров

Параметр Тип Описание
duration number Время выполнения анимации в миллисекундах
delay number Задержка перед началом анимации в миллисекундах
easing string Функция ускорения (ease, ease-in, ease-out, ease-in-out, linear)
once boolean Выполнять анимацию один раз (true) или при каждом появлении (false)
mirror boolean Анимация повторяется при скролле вверх (true)

Эти параметры являются ядром контроля времени анимации в AOS и позволяют выстраивать сложные визуальные сценарии без необходимости писать дополнительные скрипты.