Javascript 获取svg viewbox的x最大值

Javascript 获取svg viewbox的x最大值,javascript,svg,viewbox,Javascript,Svg,Viewbox,我有一个svg元素,其中高度和宽度都等于100%,并定义了viewbox属性。svg包含一系列polygon对象。单击多边形时,我希望它展开以填充整个svg(阅读:整个屏幕) 我可以访问svg元素维度,并相应地调整多边形的大小,但由于viewbox属性,打印宽度不够 有什么方法可以计算与最右边缘相对应的viewbox内的x尺寸吗?您想要的最大x值将是viewbox的最大x,您可以通过添加viewboxminX+viewboxwidth来计算它(可能涉及系数)-minX+viewbox width

我有一个
svg
元素,其中高度和宽度都等于100%,并定义了
viewbox
属性。
svg
包含一系列
polygon
对象。单击多边形时,我希望它展开以填充整个
svg
(阅读:整个屏幕)

我可以访问
svg
元素维度,并相应地调整
多边形的大小,但由于
viewbox
属性,打印宽度不够


有什么方法可以计算与最右边缘相对应的viewbox内的x尺寸吗?

您想要的最大x值将是viewbox的最大x,您可以通过添加viewbox
minX
+viewbox
width
来计算它(可能涉及系数)-minX+viewbox width到达g元素的边界,而不是实际的svg。认为这与纵横比有关,以及它如何确定svg的偏移量。我改变了方法,找到了更可行的方法。无论如何,谢谢。好吧,您没有明确说明您正在处理的是PreserveSpectratio等。这很难,因为SVG并不真正知道它所在容器的形状,也不应该真正关心。viewBox是用来描述文档的边界,或者至少是您感兴趣的边界。如果您在该边界之外绘制,那么您应该真正更新viewBox以匹配。是的,我没有意识到它包含了PreserveSpectratio直到我发帖之后,我才意识到这一点——这导致我找到了一种更好的方式来实现我所需要的,无需测量的东西