Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Плавная прокрутка к элементу (https://javascript.ru/forum/misc/74010-plavnaya-prokrutka-k-ehlementu.html)

snut8 05.06.2018 17:12

Плавная прокрутка к элементу
 
Добрый день коллеги, прошу помощи, замучился уже. Мне необходимо реализовать плавную прокрутку к элементу. Есть код, который осуществляет прокрутку, но к сожалению не плавно.
Array.prototype.forEach.call(document.querySelectorAll("#scroll"), function(e){
   e.setAttribute("onclick", " window.scrollTo(0,document.getElementById('scroll').scrollHeight);"+e.getAttribute("onclick"))
  });

Помогите пожалуйста его модернизировать для плавной прокрутки.

j0hnik 05.06.2018 17:23

document.querySelector("элемент на который нажимать").onclick = document.querySelector("элемент к которому крутить").scrollIntoView({behavior: 'smooth'});

Nexus 05.06.2018 17:30

j0hnik, что с кросс-браузерностью у этого метода?
Тут данные, видимо, старые.

j0hnik 05.06.2018 17:40

Nexus,
https://caniuse.com/#search=scrollIntoView
с плавностью только современные браузеры, к сожалению

snut8 05.06.2018 17:41

и на этом спасибо:) очень помогли

Nexus 05.06.2018 17:52

snut8, для старых браузеров плавность можно прикрутить.
https://learn.javascript.ru/js-animation

Alexandroppolus 05.06.2018 18:22

для behavior:'smooth' есть полифил, просто его добавить и всё.


Часовой пояс GMT +3, время: 11:16.