В 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);
}