zloycoder
@zloycoder
Разработка веб-сайтов на заказ

Почему возникает «неровная прокрутка»?

Почему возникает "неровная прокрутка" к элементам по якорю?
Помогите, пожалуйста решить данную проблему.
Перейти на сайт с проблемой
С уважением.
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Анимация прокрутки происходит всегда за фиксированное время (сейчас 500 мс).
Если top получается 100 пикселей, то промотка будет казаться медленней, а если 1000 пикселей - то быстро.
А нужно сделать так, чтобы время анимации было пропорционально длине "прыжка".
var anim_speed = 300; // пикселей в секунду
var anim_time = (top * 1000) / anim_speed; // 1000 - поправка на милисекунды
//анимируем переход на расстояние 
$('body,html').animate({scrollTop: top}, anim_time);

PS: Обычная школьная формула по физике: время равно расстоянию деленное на скорость.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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