Javascript 鼠标移动时滚动窗口

Javascript 鼠标移动时滚动窗口,javascript,scroll,mouse,acceleration,Javascript,Scroll,Mouse,Acceleration,大家好我的意思是,当鼠标向窗口边缘移动(x或y或两者)时,我希望页面滚动,当鼠标停止移动时,我希望页面停止滚动。有许多示例说明如何使用onClick事件或窗口边缘的滚动区域进行滚动,但这并不是基于鼠标光标的移动 任何帮助都将不胜感激。网页已经设计为使用滚动条、页面/主页/结束/箭头键等进行滚动。是否有任何原因不适合您的页面?改变预期的功能通常不是一个好主意 你可以在这里了解这件事。无论如何,下面的代码应该可以工作,但我真的不建议使用它。对于有敏感老鼠的人来说,它尤其会使人迷失方向: // Var

大家好

我的意思是,当鼠标向窗口边缘移动(x或y或两者)时,我希望页面滚动,当鼠标停止移动时,我希望页面停止滚动。

有许多示例说明如何使用onClick事件或窗口边缘的滚动区域进行滚动,但这并不是基于鼠标光标的移动


任何帮助都将不胜感激。

网页已经设计为使用滚动条、页面/主页/结束/箭头键等进行滚动。是否有任何原因不适合您的页面?改变预期的功能通常不是一个好主意

你可以在这里了解这件事。无论如何,下面的代码应该可以工作,但我真的不建议使用它。对于有敏感老鼠的人来说,它尤其会使人迷失方向:

// Variables for current position
var x, y;

function handleMouse(e) {
  // Verify that x and y already have some value
  if (x && y) {
    // Scroll window by difference between current and previous positions
    window.scrollBy(e.clientX - x, e.clientY - y);
  }

  // Store current position
  x = e.clientX;
  y = e.clientY;
}

// Assign handleMouse to mouse movement events
document.onmousemove = handleMouse;

完美的非常感谢。是的,你是对的,更改预期的功能不是很好,但是这个页面类似于一个画廊的墙,所以“看你指的地方”的功能是一个很好的效果。为了减少“抽搐”(可能还会增加一些加速度),我最好添加一些缓和效果。这是可能的吗?当然,您可以将
var diffX=e.clientX-x
存储在一个变量中,然后检查
如果(Math.abs(diffX)>1
或其他,您可以将其除以2以降低敏感度,等等。您真正需要知道的是
窗口。scrollBy
将通过提供的
x
y
参数滚动窗口。