Плавний скролінг сторінки на чистому 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'
          });
       }
    }
});
Serhii Kolomiitsev
Програміст, працюю з WordPress починаючи з 2010 року.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *