Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать прокрутку к элементу на чистом JS? (https://javascript.ru/forum/misc/83383-kak-sdelat-prokrutku-k-ehlementu-na-chistom-js.html)

CryNet 26.11.2021 11:29

Как сделать прокрутку к элементу на чистом JS?
 
Есть список Li елементов. При клике на сам элемент мне нужно прискроллить его к верху странички. Как это сделать?

Песочница: https://codepen.io/CryNet/pen/eYEqGRO

То есть если я кликнул на Paragraph 6, допустим, он у меня должен оказаться в самом верху. Анкоры не вариант, т.к. мне нужно сделать плавную прокрутку. Element.scrollIntoView() тоже -- нет поддержки плавности в Сафари на iOS + не работают scroll-snap-margin-top

ksa 26.11.2021 11:41

Цитата:

Сообщение от CryNet
При клике на сам элемент мне нужно прискроллить его к верху странички. Как это сделать?

Как вариант...
const el = document.getElementById('el');
el.scrollIntoView(); // Прокрутка до верхней границы
el.scrollIntoView(false); // Прокрутка до нижней границы

https://xakplant.ru/2019/03/11/ка...ного-эл/

CryNet 26.11.2021 11:43

Цитата:

Сообщение от ksa (Сообщение 541887)
Как вариант...

Та не. Вот почему: scrollIntoView() тоже -- нет поддержки плавности в Сафари на iOS + не работают scroll-snap-margin-top

рони 26.11.2021 12:47

CryNet,
https://javascript.ru/forum/misc/693...tml#post455421
есть ещё десяток, подобного на форуме, надо искать ...

CryNet 26.11.2021 13:05

Цитата:

Сообщение от рони (Сообщение 541892)
CryNet,
https://javascript.ru/forum/misc/693...tml#post455421
есть ещё десяток, подобного на форуме, надо искать ...

А-а-а я понял в чём моя проблема и почему у меня не получалось сделать самому прокрутку.

У меня юзается библиотека для кастомных скроллов, и она оборачивает весь контент в div с position absolute + куча других свойств. У меня window.pageYOffset = 0 всегда.

Но, спасибо за решение.


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