Lab / jquery / JavaScript

jQuery: Простая прокрутка до нужного элемента по клику

Сегодня делюсь с вами очень простым и удобным скриптом на jQuery, который по клику на элемент плавно прокручивает вас до заданного места на странице.

Сосбственно код:

<script>
$("#callme").click(function() { // ID откуда кливаем
 $('html, body').animate({
 scrollTop: $(".formwrap").offset().top // класс объекта к которому приезжаем
 }, 1000); // Скорость прокрутки
});
</script>

Вариант без jQuery

А если хочется обойтись без jQuery и сделать всё на чистом JavaScript — вот как это выглядит:

<script>
document.getElementById("callme").addEventListener("click", function (e) {
  e.preventDefault(); // если это ссылка, чтобы не было прыжка
  document.querySelector(".formwrap").scrollIntoView({
    behavior: "smooth"
  });
});
</script>

Работает во всех браузерах. И выглядит даже почище, чем jQuery вариант, никакой магии, просто слушаем клик и говорим «прокрутись красиво».

Кстати, если хочется, чтобы вся прокрутка на сайте всегда была плавной, можно вообще обойтись без скриптов и задать глобально в CSS и дальше использовать якорные ссылки в html:

html {
  scroll-behavior: smooth;
}