В Locomotive Scroll для управления поведением элементов при скролле используются специальные атрибуты, добавляемые к HTML-элементам. Эти атрибуты могут задавать направления анимации, скорость, задержки и триггеры. Ключевой особенностью является возможность комбинировать несколько атрибутов на одном элементе, что позволяет создавать сложные и синхронизированные эффекты.
<div data-scroll data-scroll-speed="2" data-scroll-delay="0.1">
Контент с ускоренным скроллом и небольшой задержкой
</div>
В этом примере одновременно используются три атрибута:
data-scroll — инициирует отслеживание элемента
библиотекой.data-scroll-speed="2" — увеличивает скорость скролла
относительно основного потока страницы.data-scroll-delay="0.1" — задаёт плавное смещение
элемента для эффекта инерции.Важно понимать, что атрибуты не конфликтуют, а взаимодействуют, создавая итоговое поведение элемента.
Locomotive Scroll позволяет задавать разные направления
движения с помощью атрибутов data-scroll-speed и
data-scroll-direction. Комбинирование этих атрибутов
открывает возможности для сложных визуальных эффектов.
<div data-scroll data-scroll-speed="3" data-scroll-direction="horizontal">
Горизонтальное ускоренное движение
</div>
Ключевые моменты:
data-scroll-speed может быть положительным или
отрицательным, что позволяет элементу двигаться в противоположную
сторону скролла.data-scroll-direction принимает значения
vertical (по умолчанию) или horizontal.Задержки (data-scroll-delay) позволяют создавать эффект
инерции, когда элемент слегка запаздывает за основным
скроллом. Этот эффект особенно полезен при комбинировании с ускорением
(data-scroll-speed) для имитации физического движения.
<div data-scroll data-scroll-speed="1.5" data-scroll-delay="0.2">
Плавно ускоряющийся элемент
</div>
Особенности:
data-scroll-repeat,
data-scroll-class) позволяет создавать элементы, которые
появляются, ускоряются и исчезают с плавной анимацией.Атрибут data-scroll-repeat позволяет элементу
повторно активироваться при повторном скролле, а
data-scroll-class добавляет CSS-класс при достижении
определённой позиции.
<div data-scroll data-scroll-repeat data-scroll-class="is-active">
Элемент с повторяющейся анимацией и классом
</div>
Совместное использование:
data-scroll-repeat + data-scroll-speed —
элемент ускоряется каждый раз при появлении в области видимости.data-scroll-class + data-scroll-delay —
можно добавить задержку перед применением CSS-класса, создавая эффект
постепенного появления.Параллакс-эффекты достигаются комбинированием нескольких атрибутов на разных вложенных элементах. Например, для создания слоёного движения:
<section data-scroll-section>
<div data-scroll data-scroll-speed="1.2">Фон</div>
<div data-scroll data-scroll-speed="2">Средний слой</div>
<div data-scroll data-scroll-speed="3" data-scroll-delay="0.1">Передний план</div>
</section>
Принципы:
При комбинировании атрибутов важно учитывать следующие нюансы:
transform и position: fixed.Для крупных проектов рекомендуется:
Такой подход позволяет строить комплексные анимации без конфликтов и потери производительности.