@advdominion/scroll-to
v1.0.1
Published
Плавный скролл до элемента с поддержкой нативного события `scrollend` и гибкой настройкой отступов.
Readme
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 — в процентах от высоты вьюпорта |
Как это работает
- Точность: Использует нативное событие
scrollend, которое срабатывает строго после завершения анимации прокрутки. - Безопасность: Если браузер не поддерживает
scrollendили анимация прервана, сработает автоматический fallback через 1500 мс. - Плавность: Использует нативный
behavior: 'smooth'. - Очистка данных: Автоматически удаляет слушатели событий и таймеры после завершения или отмены скролла.
