首页 > 解决方案 > svg-pan-zoom 缩小后平移错误

问题描述

这是一个很棒的图书馆。它运作良好。感谢 Bumbu Alex 和 Anders Riutta 以及所有的贡献者。好吧,我被卡住了。我已经尝试了很多。我想答案就在附近。

当我通过滚轮或捏(无论如何)放大时,它可以很好地放大和缩小。当我放大 1 倍时,它会保持原位。

但是当我

  1. 放大 2 次(例如)
  2. 将鼠标光标移开(例如 1 英寸)
  3. 一路缩小,我的元素都关闭了。所以没有什么中心了。它适用于平底锅。一半的元素被截断了视口。

所以这还不错。我想我用错了。我已经尝试了数千次来调整它的大小,但对我来说没有任何效果。我很感激任何帮助。谢谢你。

标签: svgzoomingpansvgpanzoom

解决方案


这是正常行为,因为使用鼠标缩放会根据当前鼠标位置进行缩放。缩小也是如此。

如果要实现始终相同的放大和缩小,则必须:

  • 禁用默认鼠标处理
  • 为鼠标滚动事件添加您自己的侦听器
  • 当鼠标滚动被触发时 - 放大我们的

这个演示)有一些类似的变化。

如果您只想使内容居中,则可以使用.center()or.contain()方法(您可能还需要调用.fit())。


推荐阅读