Библиотека Locomotive Scroll обеспечивает плавный
скроллинг и расширенные возможности управления анимациями на основе
позиции прокрутки. Одним из ключевых инструментов для управления
направлением скролла является атрибут
data-scroll-direction, который позволяет
явно задавать направление отслеживания элементов при прокрутке.
Атрибут data-scroll-direction принимает два основных
значения:
vertical – стандартное вертикальное
направление скролла. При этом элементы анимации и наблюдения
перемещаются по оси Y, что является привычным для большинства
веб-страниц.
horizontal – горизонтальное
направление скролла. В этом случае прокрутка отслеживается по оси X, а
любые анимации, связанные с data-scroll, будут реагировать
на горизонтальное перемещение контента.
Пример использования:
<div data-scroll-container data-scroll-direction="horizontal">
<section data-scroll data-scroll-speed="2">
Горизонтальный скролл
</section>
<section data-scroll data-scroll-speed="1">
Еще один блок
</section>
</div>
В этом примере контейнер data-scroll-container задает
горизонтальную прокрутку, а блоки внутри него с data-scroll
будут реагировать на движение по горизонтали.
data-scroll-speed – управление
скоростью движения элементов относительно основной прокрутки. При
горизонтальном скролле скорость интерпретируется аналогично, но движение
происходит вдоль оси X.
data-scroll-sticky – фиксация
элемента относительно контейнера. Направление sticky также подчиняется
data-scroll-direction. Если контейнер горизонтальный,
элемент будет «прилипать» в горизонтальной плоскости.
data-scroll-target – привязка
анимаций к конкретному элементу. В случае горизонтального скролла
координаты и вычисления target происходят по оси X.
Контейнер прокрутки должен иметь заданный размер вдоль основной оси скролла. Для горизонтальной прокрутки это ширина контейнера. Без явного размера scroll не будет работать корректно.
Совместимость с CSS: Горизонтальный скролл требует дополнительного стиля:
[data-scroll-container] {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
scroll-behavior: smooth;
}
section {
min-width: 100vw;
}События и методы библиотеки: Методы
scroll.scrollTo() и события scroll
автоматически учитывают направление, заданное в
data-scroll-direction. Это позволяет вызывать прокрутку до
элементов как по вертикали, так и по горизонтали.
data-scroll-container.При проблемах с отслеживанием скролла:
data-scroll-container.data-scroll-direction у родителя и
дочерних элементов.scroll.update() после динамического
изменения содержимого контейнера.Атрибут data-scroll-direction
предоставляет мощный инструмент для управления направлением скролла в
Locomotive Scroll, влияя на поведение всех дочерних элементов и событий
библиотеки. Правильное понимание взаимодействия с другими атрибутами и
стилями позволяет создавать как традиционные вертикальные страницы, так
и сложные горизонтальные интерфейсы с плавными анимациями и эффектами
параллакса.