Как сделать плавный скролл к якорю на чистом js?

Допустим header с nav. Вот при нажатии на ссылку должна происходить плавная прокрутка до определенного элемента. Можно ли определить Положение элемента по оси Y в body прямым методом? Или нужно складывать предыдущие элементы? Я просто ни разу такое не делал. В интернета мало подробного описания. Предлагают в основном использовать библиотеки. Если кому не трудно - пожалуйста объясните немного код, который вы напишите в ответ. Особенно анимацию.
  • Вопрос задан
  • 2010 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Когда-то от балды что-то подобное писал, но довести до ума было лень. Посмотрите основной принцип работы.

https://github.com/In4inQ/js/blob/master/%D0%9F%D0...

Информация по функции

Вызов функции:
scrollTo4Y(DOM Element/Y [,speed [,boolean]]);
//Первый параметр - элемент или Y-позиция, до которой крутим
//Второй - скорость, лучше не трогать. Она и так исходя из расстояния вычисляется.
//Третий - уже не помню, вроде бы, если указан элемент, то определяет вариант прокрутки: 
// - До видимости элемента
// - До того, как он окажется вверху страницы...


Ах да, еще есть ключевые слова для первого аргумента:

back - на предыдущее место прокрутки
bottom, top - низ и верх, соответственно

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы