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

При скролле происходит прокрутка на то количество строк, которое указано в операционной системе (по умолчанию вроде 3 стоит, а мне нужно чтобы перемещалось всего на одну строку), можно ли как либо изменить этот параметр через javascript?
  • Вопрос задан
  • 8170 просмотров
Решения вопроса 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 плавный скрол включен на уровне браузера, и эмулировать его не надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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