Для начала работы с библиотекой AOS (Animate on Scroll) необходимо подключить её CSS и JavaScript файлы. Существует два основных способа подключения: через CDN и через локальные файлы.
Через CDN:
Через локальные файлы:
После подключения библиотека готова к использованию.
Инициализация выполняется с помощью метода AOS.init().
Этот метод необходимо вызвать после загрузки DOM, чтобы все элементы, к
которым будут применяться анимации, уже существовали на странице.
Пример базовой инициализации:
document.addEventListener('DOMContentLoaded', function() {
AOS.init();
});
Или, если использовать jQuery:
$(document).ready(function() {
AOS.init();
});
Метод AOS.init() принимает объект с конфигурацией,
позволяющий тонко настраивать поведение анимаций.
offsetОпределяет расстояние в пикселях от верхнего края окна до момента запуска анимации.
AOS.init({
offset: 120
});
delayЗадаёт задержку перед запуском анимации для каждого элемента, в миллисекундах.
AOS.init({
delay: 200
});
durationПродолжительность анимации в миллисекундах.
AOS.init({
duration: 1000
});
easingОпределяет кривую анимации (аналог CSS
transition-timing-function). Примеры значений:
'ease', 'ease-in-out',
'linear'.
AOS.init({
easing: 'ease-in-out'
});
onceЕсли установлено в true, анимация срабатывает только
один раз при первом скролле, иначе – каждый раз при прокрутке элемента в
видимую область.
AOS.init({
once: true
});
mirrorПозволяет анимации повторно запускаться при прокрутке обратно вверх.
Значение true включает повторное воспроизведение.
AOS.init({
mirror: true
});
anchorPlacementОпределяет точку привязки анимации относительно элемента и окна. Возможные значения:
'top-bottom' – верх элемента появляется внизу окна (по
умолчанию)'top-center' – верх элемента по центру окна'center-bottom' – центр элемента внизу окнаAOS.init({
anchorPlacement: 'top-center'
});
На сайтах с динамически загружаемым контентом (например, через AJAX) необходимо вручную обновлять AOS после добавления новых элементов:
AOS.refresh();
Если элементы появляются часто, можно использовать:
AOS.refreshHard();
Разница в том, что refreshHard полностью пересчитывает
все элементы, включая удалённые и добавленные, что может быть затратнее
по производительности.
Параметры можно задавать не только при глобальной инициализации через
AOS.init(), но и на каждом элементе с помощью атрибутов
HTML.
Примеры атрибутов:
Анимируемый блок
Ключевые атрибуты:
data-aos – тип анимации (fade,
fade-up, fade-down, zoom-in,
flip-left и др.)data-aos-offset – смещение триггераdata-aos-delay – задержка запускаdata-aos-duration – длительность анимацииdata-aos-easing – кривая анимацииdata-aos-once – однократное воспроизведение
(true/false)Если указаны локальные параметры через data-*, они
переопределяют глобальные значения из AOS.init().
Можно объединить глобальные и локальные настройки, чтобы базовая анимация имела единые параметры, а для отдельных элементов задавать особые значения:
AOS.init({
offset: 100,
duration: 800,
easing: 'ease-in-out',
once: false,
mirror: false
});
Элемент с индивидуальной длительностью анимации
once: true для анимаций, которые не должны
повторяться, чтобы снизить нагрузку на браузер.IntersectionObserver для контроля видимости элементов без
лишних вычислений.