@Alexfixer

Управление скоростью скрола по якорям?

Какие способы есть управления скоростью прокрутки по якорям, стандартный scroll-behavior: smooth; в css не подходит, хотелось бы управлять скоростью. Может npm какие-то есть?

Нашёл вот такой вот https://github.com/cferdinandi/smooth-scroll , но работает странно...
Ставлю скорость 300, в итоге после нажатия какая то пауза происходит и потом он скролит к якорю...
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
SERGK393
@SERGK393
Программист
Можно использовать jquery
https://www.w3schools.com/howto/tryit.asp?filename...
...
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){
   
        // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;
      });

В примере по ссылке число 800 - скорость анимации

-----------------------

https://javascript.info/js-animation

animate({
  duration: 1000,
  timing(timeFraction) {
    return timeFraction;
  },
  draw(progress) {
    window.scrollTo({
      top: progress * 100, // всесто 100 устанавить позицию хеша +/- начальную позицию
      left: progress * 100,
      behavior: 'smooth'
    });
  }
});


Нашел инфу, где можно сделать функцию анимации на чистом js. Остальное, думаю, можешь сам добыть - ивенты на клик итп
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
NikFaraday
@NikFaraday
Student full-stack Developer
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 22:48
100 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект