2

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

由于这会触发 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 );
}
4

0 回答 0