我想通过自定义滚动向我的网页添加转换(我正在以比正常速度更快的速度跳过线路)。我的代码如下 -
<html>
<head>
<script>
var MOUSE_WHEEL_GAIN = 1000;
function OnMouseWheel() {
window.scrollTo(0, document.body.scrollTop - event.wheelDelta/120 * MOUSE_WHEEL_GAIN);
var e = window.event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}
</script>
<head>
<body ONMOUSEWHEEL="OnMouseWheel()">
<script>
for (i=0;i<20;i++) document.write("<p>" + i + " Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>");
</script></body></html>
我希望代码使滚动显示为平滑过渡。是Javascript
的方式还是我应该使用别的东西?
答案 0 :(得分:0)
使用DOM-L3的最佳计算效率:
//HTML BLOCK
<canvas onmousemove="TrackMouse(event)"></canvas>
//JS BLOCK
function TrackMouse(e){
window.scrollBy(e.webkitMovementX, e.webkitMovementY);
}