Плавний скролінг сторінки на чистому JavaScript
- Опубліковано:
- Оновлено:
Можна знайти багато прикладів вирішення цієї задачі наприклад на jQuery. Але в деяких випадках, коли інших ефектів на сайті непотрібно, підключати цілу бібліотеку – це дурість. Набагато доцільніше використовувати чистий JavaScript.
document.body.addEventListener('click', function (e) {
if (e.target.tagName === 'A' && e.target.getAttribute('href').startsWith('#')) {
e.preventDefault();
const blockID = e.target.getAttribute('href').slice(1);
const targetBlock = document.getElementById(blockID);
if (targetBlock) {
targetBlock.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
}
});