AOS — это легковесная JavaScript-библиотека, предназначенная для создания анимаций элементов при прокрутке страницы. Она позволяет реализовать эффект появления, смещения, вращения, масштабирования и другие визуальные трансформации без написания сложных скриптов с использованием чистого CSS и JS. Основная идея заключается в том, что элементы становятся видимыми с анимацией в момент попадания в область видимости пользователя (viewport).
Библиотека работает через data-атрибуты, что упрощает интеграцию: достаточно добавить определённый атрибут к элементу HTML и настроить желаемую анимацию.
AOS отслеживает положение элементов на странице и применяет CSS-классы, когда элемент появляется в видимой области окна браузера. Основные шаги работы:
Инициализация библиотеки Для работы необходимо
подключить скрипт AOS и вызвать функцию AOS.init(). При
этом можно передать объект с глобальными настройками анимаций.
Пример:
AOS.init({
duration: 1200, // продолжительность анимации в миллисекундах
easing: 'ease-in-out', // функция ускорения
once: true, // анимация срабатывает только один раз
});Добавление атрибутов к элементам Основной
механизм запуска анимации — это использование data-aos:
<div data-aos="fade-up">Контент</div>
В данном примере элемент будет плавно появляться с эффектом подъема вверх.
Настройка дополнительных параметров AOS поддерживает множество дополнительных атрибутов:
data-aos-duration — индивидуальная длительность
анимации элемента.data-aos-delay — задержка перед запуском анимации.data-aos-offset — смещение по вертикали, при котором
запускается анимация.data-aos-anchor-placement — точка привязки для
активации анимации (например, top-bottom,
center-center).Пример с индивидуальными настройками:
<div data-aos="fade-right" data-aos-duration="1500" data-aos-delay="300">
Появление справа с задержкой
</div>Библиотека предоставляет несколько категорий стандартных эффектов:
fade-up, fade-down, fade-left,
fade-right, fade-up-right и т.д.).slide-up, slide-down,
slide-left, slide-right).zoom-in, zoom-out, zoom-in-up и
т.п.).flip-left, flip-right, flip-up,
flip-down).Каждая анимация может быть дополнительно настроена по длительности, задержке, смещению и повторению.
При инициализации через AOS.init() можно задать
следующие ключевые параметры:
ease, ease-in, ease-out,
ease-in-out).Пример комплексной инициализации:
AOS.init({
duration: 1000,
easing: 'ease-out-cubic',
once: false,
mirror: true,
offset: 100,
});
AOS не требует сложной настройки стилей: достаточно подключить CSS-файл библиотеки. Все анимации основаны на CSS-трансформациях и переходах, что обеспечивает высокую производительность.
Типовой HTML-код:
<section>
<h2 data-aos="fade-up">Заголовок</h2>
<p data-aos="fade-right" data-aos-delay="200">
Текст с анимацией при прокрутке.
</p>
<img src="image.jpg" data-aos="zoom-in" data-aos-duration="1000">
</section>
Каждый элемент анимируется независимо и с заданными параметрами.
once: true для элементов,
которые должны анимироваться только один раз, например, заголовки.data-aos-delay с увеличивающимися
значениями.AOS позволяет создавать современные интерактивные страницы с минимальными усилиями и без необходимости использования тяжёлых библиотек или фреймворков.