我想控制我的滚动速度,就像这个网站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个小时,但仍然无法得到答案。想到碰撞它。
答案 0 :(得分:1)
window.addEventListener('wheel', DoSomething);
window.addEventListener('mousewheel', DoSomething);
window.addEventListener('DOMMouseScroll', DoSomething);
尝试其中一种,特定于浏览器。