javascript - SVG/SVGPan : center graphic upon loading

标签 javascript svg

我一直在使用嵌套 <svg/><g/>使 SVG 图形在浏览器框架内居中的元素。外部 svg 元素的宽度和高度为 100%,内部的 x 和 y 设置为 50%。内部 g 元素具有半图像大小的负偏移。这工作正常,但我现在想添加平移和缩放功能。

嵌套 SVG 方法似乎与 SVGPan 不兼容这会让人感到困惑。

仅当我从左上角的图形开始时,SVGPan 才会起作用。我想我必须编写一个在 SCG 加​​载/加载时运行的脚本,以添加一个变换,以与 SVGPan 兼容的方式将顶级 g 居中。

如何初始化我的 <g />用矩阵变换来翻译它?

((viewport.width - g.width)/2, (viewport.width - g.width)/2)

创建 SVG 时,视口(viewport)的大小未知,但我可以在其中放置一些脚本来创建转换或平移。脚本应该放在哪里以及它应该做什么?它需要与 SVGPan 兼容。

最佳答案

Talos 为我解决了这个问题,请参阅 https://github.com/talos/jquery-svgpan/issues/3

而不是

<svg><svg><g></g></svg></svg>

我现在正在使用

<svg><g><svg></svg></g></svg>

这允许居中图形与 [jquery-]svgpan 一起使用。

关于javascript - SVG/SVGPan : center graphic upon loading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9587175/

相关文章:

javascript - ActionCable 仅在 channel 中不调用#subscribe 注册连接

javascript - 无法从 Iframe 访问父文档

javascript - 尝试使用大气中的 jquery 插件对 meteor 表单提交进行表单验证

javascript - TypeScript - 静态属性创建优化

html - 将我的部分的高度设置为等于文本内容,忽略 SVG 的高度

javascript - SVG 数组不可用于 HTML 页面

javascript - 如何检测具有相同 ID 的已单击 div 文本

javascript - Nvd3 - 尽管添加了所有外部资源,散点图仍不会加载

jquery - 内联 SVG 的 <a> 标记链接在 Safari 中不起作用

javascript - requestAnimationFrame 之前不必要的延迟?