При увеличении полоса прокрутки прилипает к началу документа в Angular 9 - PullRequest
0 голосов
/ 27 марта 2020

В angular 9 я реализовал масштабирование при прокрутке мыши в моей программе просмотра PDF. Но когда я прокручиваю, он всегда прокручивается в верхнюю левую сторону. И я хочу, чтобы он прокручивал, куда указывает мышь. Пожалуйста, смотрите ниже изображение в первую очередь. При увеличении вертикальная и горизонтальная полосы прокрутки придерживаются верхней и левой сторон соответственно.

У меня есть следующий код.

  const { docViewer } = instance;
  const docContainer = instance.iframeWindow.document.querySelector('[data-element="documentContainer"]');
  docContainer.addEventListener('wheel', onWheel, { passive: false });
  function onWheel(e) {
    e.preventDefault();
    console.log("Zoom level - ", instance.getZoomLevel());
    console.log("x - ", e.pageX , " y - ", e.pageY);
    var newZoomFactor;
    if (e.deltaY < 0) {
      newZoomFactor = docViewer.getZoom() * 1.25;
    } else if (e.deltaY > 0) {
      newZoomFactor = docViewer.getZoom() * 0.8;
    }
    console.log("Zoom factor - ", newZoomFactor);
    docViewer.zoomToMouse(newZoomFactor, e.pageX ,e.pageY);
  }
...