Locomotive Scroll использует специальные HTML-атрибуты для управления поведением скролла, анимаций и взаимодействия с элементами на странице. Правильная настройка атрибутов позволяет добиться плавной прокрутки, параллакса и триггеров событий без написания сложного кода.
data-scrollАтрибут data-scroll служит базовым маркером для всех
элементов, которые должны участвовать в скролл-анимации. Он может
принимать несколько параметров через дополнительные атрибуты:
<div data-scroll data-scroll-speed="2" data-scroll-direction="horizontal">
Контент
</div>
data-scroll-speed – управляет
скоростью движения элемента относительно скролла. Значение
1 соответствует базовой скорости, большее значение ускоряет
движение, отрицательное – инвертирует направление.data-scroll-direction – задаёт
направление движения: vertical (по умолчанию) или
horizontal.Эти параметры позволяют создавать эффекты параллакса и динамических сдвигов элементов без вмешательства в основную логику скриптов.
data-scroll-stickyПозволяет закрепить элемент относительно окна просмотра в заданной зоне скролла. Пример:
<div data-scroll data-scroll-sticky data-scroll-target="#section1">
Закреплённый элемент
</div>
data-scroll-target – идентификатор
родительского блока, внутри которого элемент будет фиксирован.Важно учитывать, что sticky-элемент не выходит за пределы родителя, поэтому высота родителя должна соответствовать желаемой зоне закрепления.
Locomotive Scroll поддерживает вызов событий при попадании элемента в зону видимости:
data-scroll-call – имя события,
которое будет вызвано при пересечении элемента с экраном.data-scroll-repeat – если указано,
событие может повторяться при повторном пересечении.Пример использования:
<div data-scroll data-scroll-call="animateBox" data-scroll-repeat>
Элемент для анимации
</div>
В JavaScript можно подписаться на это событие через метод
on:
scroll.on('call', (func, dir, obj) => {
if(func === 'animateBox'){
// Запуск анимации
}
});
data-scroll-offsetПозволяет смещать точку срабатывания эффектов относительно видимой области экрана. Принимает значения в пикселях или процентах:
<div data-scroll data-scroll-offset="100">
Сдвиг срабатывания
</div>
100 означает, что эффект сработает на 100
пикселей раньше достижения элемента верхней границей окна.50% срабатывает, когда элемент
пересекает половину высоты окна.Для создания сложных параллакс-эффектов используются сочетания
data-scroll-speed, data-scroll-direction и
data-scroll-position.
<div data-scroll data-scroll-speed="3" data-scroll-position="top">
Параллакс элемент
</div>
data-scroll-position – определяет
точку отсчёта движения: top, bottom,
center.Locomotive Scroll поддерживает обновление атрибутов после инициализации. Это особенно важно при динамическом контенте:
scroll.update();
Метод update() пересчитывает позиции элементов с
атрибутами data-scroll, учитывая добавленные или изменённые
элементы на странице.
data-scroll-speed – дробные значения создают более
плавные эффекты.data-scroll-sticky, могут пересекаться с
триггерами событий, что требует точного контроля смещений.Эти атрибуты формируют основу гибкой и мощной системы анимаций Locomotive Scroll, позволяя создавать сложные визуальные эффекты без громоздкого JavaScript-кода.