JavaScript scrollTo() — програмна прокрутка сторінки
Метод scrollTo() прокручує сторінку до заданої точки — з плавною анімацією або миттєво.
Загальний опис
Сучасна форма приймає об'єкт: scrollTo({ top: 0, behavior: 'smooth' }). Саме behavior і робить прокрутку плавною — без жодних бібліотек і анімацій вручну.
Стара форма з двома числами (scrollTo(0, 0)) теж працює, але прокручує миттєво, ривком.
Щоб прокрутити до конкретного елемента, зручніше element.scrollIntoView({ behavior: 'smooth', block: 'center' }) — не треба рахувати координати.
- Порада
-
Плавну прокрутку можна вмикати й без JavaScript:
автор: NagarDscroll-behavior: smoothу CSS діє й на якорі, і на цей метод.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| scrollTo | 61+ | 36+ | 15.4+ | 48+ | 79+ | 9+ |
| Переглядач | ||||
|---|---|---|---|---|
| scrollTo | 61+ | yes | yes | 15.4+ |
Приклади
+ запропонувати свій приклад у пісочниці
Кнопка «нагору» й прокрутка до елемента.
HTML
<button id="top">Нагору</button>
<div style="height:150vh"></div>
<h2 id="target">Розділ</h2>
JS
document.getElementById('top').addEventListener('click', () => {
window.scrollTo({ top: 0, behavior: 'smooth' });
});
// до конкретного елемента — без рахування координат
document.getElementById('target').scrollIntoView({
behavior: 'smooth',
block: 'center',
});
// стара форма — миттєво, ривком
// window.scrollTo(0, 0);
Коментарі
Коментарів ще немає — будьте першим!