Прокрутите страницу, когда мышь пользователя достигнет верха / низа страницы - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь создать перетаскивание и хочу, чтобы мое окно прокручивалось на случай, если я начну перетаскивать и достигну верхней / нижней части моей страницы, пока не выйду из верхней / нижней "зоны". Пока что то, что я написал, работает по-другому, и я не могу придумать, как заставить это работать так, как я хочу. Есть ли способ сделать это с помощью ванили JS?

let mouseDown = true;

function mousedown() {
  mouseDown = true;
}

function mouseup() {
  mouseDown = false;
}
if (!document.querySelector(".arrow-timeline")) {
  this.element.addEventListener('mousemove', function() {
    let x, y;

    function handleMouse(e) {
      // Verify that x and y already have some value
      if (x && y && mouseDown) {
        // 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.onmousedown = mousedown;
    document.onmousemove = handleMouse;
    document.onmouseup = mouseup;
  })
}
...