如何控制网站的滚动速度?

时间:2017-03-11 05:25:37

标签: javascript jquery html scroll

我想控制我的滚动速度,就像这个网站http://www.powerwashingcharlotte.com/ 当你快速滚动时,它会覆盖很长的距离,当你滚动得很慢时,它会覆盖更少的距离。 我试图通过这个小提琴来实现这个目标: http://jsfiddle.net/36dp03ur/

    if (window.addEventListener) window.addEventListener('DOMMouseScroll', 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 = 300;

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

但这并不能提供与我提供的网站链接相同的效果。任何形式的帮助表示赞赏。谢谢。

编辑:自从我发布此问题以来已经过了8个小时,但仍然无法得到答案。想到碰撞它。

1 个答案:

答案 0 :(得分:1)

window.addEventListener('wheel', DoSomething);

window.addEventListener('mousewheel', DoSomething);

window.addEventListener('DOMMouseScroll', DoSomething);

尝试其中一种,特定于浏览器。