angular - 缩放时,滚动条会粘在 Angular 9 中文档的开头
问题描述
在 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);
}
解决方案
推荐阅读
- html - 如何根据时间戳和电子表格上的文本在图表上添加文本标签
- python - 将 Pandas 索引设置为给定的 DateTimeindex
- .net - 使用 VBA 从 Access 应用程序中使用 ASP.NET Web 服务
- kotlin - 仅在满足条件时才覆盖函数
- typescript - 电子,打字稿 - 函数中的其余参数不起作用
- wpf - 使用 WPF Button IsCancel 属性时如何找出用户是否单击了按钮或按下了转义键
- c - 我想阅读 C 中一行的某个部分
- javascript - 为什么当我 console.log 我的承诺时返回整数值
- laravel - 如何在 Laravel / PHP 中实现插件
- python - 气流:在位移运算符之前跳过行