放慢javascript的滚动速度

时间:2019-08-21 08:18:36

标签: javascript custom-scrolling

我想放慢网站的滚动速度,以更好地控制用户看到的内容。我当前正在使用以下功能。

由于这会触发Chrome中的干预,并且会造成UI的不稳定行为,因此使用它没有任何意义。

有谁知道替代方法吗?我宁愿避免添加额外的库,因为这会增加最终产品的复杂性,但是如果没有其他选择的话。

// slows down scrolling speed 
// still get an intervention, maybe put in on Stackoverflow 
if (window.addEventListener) window.addEventListener('wheel', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

function wheel(event) {
    var delta = 0;
    if (event.wheelDelta) delta = event.wheelDelta / 120;
    else if (event.detail) delta = -event.detail / 3;

    handle(delta);
    //if (event.preventDefault) event.preventDefault();
    event.returnValue = false;
}

function handle(delta) {
    var time = 1000;
    var distance = 400;

    $('html, body').stop().animate({
        scrollTop: $(window).scrollTop() - (distance * delta)
    }, time );
}

0 个答案:

没有答案