6

大家好

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

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

任何帮助将非常感激。

4

1 回答 1

5

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

您可以在此处阅读该mousemove事件。无论如何,下面的代码应该可以工作,但我真的不建议使用它。对于有敏感老鼠的人来说,这尤其令人迷惑:

// 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;
于 2011-06-29T10:13:47.110 回答