Задать вопрос

Как уменьшить скорость скролла страницы?

При скролле происходит прокрутка на то количество строк, которое указано в операционной системе (по умолчанию вроде 3 стоит, а мне нужно чтобы перемещалось всего на одну строку), можно ли как либо изменить этот параметр через javascript?
  • Вопрос задан
  • 8407 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
Вы можете только сгладить его при помощи анимации, сделать скролл страницы плавным. Убогий вариант этого будет выглядеть примерно так:
var latestKnownScrollY = $('html').scrollTop() || $('body').scrollTop();
$(window).on("scroll", function () {
    latestKnownScrollY = $('html').scrollTop() || $('body').scrollTop();
});
$(window).on("mousewheel DOMMouseScroll", function(event) {
    var scrollTo,
          scrollDistance  = 400,
          delta;
    if (event.type == 'mousewheel') {
          delta = event.originalEvent.wheelDelta / 120;
    } else if (event.type == 'DOMMouseScroll') {
          delta = - event.originalEvent.detail / 3;
    }
    scrollTo = latestKnownScrollY - delta * scrollDistance;
    if (scrollTo) {
        event.preventDefault(); 
        event.stopPropagation(); 
        $('body,html').stop().animate( { 
            scrollTop : scrollTo
         } , 500);
     }  
} );

А так для реализации этого эффекта есть масса плагинов. Так же помните что в последних версиях Firefox плавный скрол включен на уровне браузера, и эмулировать его не надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы