Files
frontend/packages/scroll-to/README.md
2026-02-12 20:30:06 +04:00

2.2 KiB
Raw Blame History

scroll-to

Плавный скролл до элемента с поддержкой нативного события scrollend и гибкой настройкой отступов.

Использование

import { scrollTo } from '@advdominion/scroll-to';

// Базовый скролл до элемента
await scrollTo(document.querySelector('#example'));

// Скролл с отступом 100px (например, для фиксированной шапки)
await scrollTo(document.querySelector('#example'), 100, true);

// Скролл с отступом в 10% от высоты экрана
await scrollTo(document.querySelector('#example'), 10);

Параметры

Параметр Тип По умолчанию Описание
$el HTMLElement DOM-элемент, к которому нужно прокрутить страницу
offset number 0 Величина отступа сверху от целевого элемента
offsetInPx boolean false Тип отступа: true — в пикселях, false — в процентах от высоты вьюпорта

Как это работает

  1. Точность: Использует нативное событие scrollend, которое срабатывает строго после завершения анимации прокрутки.
  2. Безопасность: Если браузер не поддерживает scrollend или анимация прервана, сработает автоматический fallback через 1500 мс.
  3. Плавность: Использует нативный behavior: 'smooth'.
  4. Очистка данных: Автоматически удаляет слушатели событий и таймеры после завершения или отмены скролла.