如何获得Raphael javascript库的纸画布宽度,它是用相对值定义的?

如何获得Raphael javascript库的纸画布宽度,它是用相对值定义的?,javascript,canvas,size,width,raphael,Javascript,Canvas,Size,Width,Raphael,我正在使用Raphael SVG库,我定义了一个包含Raphael画布的元素 <div id="canvas_container"></div> 现在我想得到画布的绝对宽度/高度。我知道了如何使用paper.canvas访问画布,但是如果我尝试获取paper.canvas.width,我会得到一个SVGAnimatedLength元素,而不是width 我注意到,当使用Chrome开发工具并用鼠标在控制台中选择paper.canvas时,所选元素会在窗口中显示正确的绝对

我正在使用Raphael SVG库,我定义了一个包含Raphael画布的元素

<div id="canvas_container"></div>
现在我想得到画布的绝对宽度/高度。我知道了如何使用paper.canvas访问画布,但是如果我尝试获取paper.canvas.width,我会得到一个SVGAnimatedLength元素,而不是width

我注意到,当使用Chrome开发工具并用鼠标在控制台中选择paper.canvas时,所选元素会在窗口中显示正确的绝对大小。当在Chrome开发控制台中选择某个元素时,页面中会显示蓝色选择。但是如何在代码中获得它呢?

您可以使用画布对象的offsetWidth和offsetHeight值来确定拉斐尔画布的真实尺寸

示例:

您可以使用画布对象的offsetWidth和OffsetSight值来确定拉斐尔画布的真实尺寸


示例:

属性paper.width和paper.hight将帮助您。

属性paper.width和paper.hight将帮助您。

非常感谢您的回答,但它没有回答我的问题。虽然很高兴知道这一点。但是,如果我决定制作新的Raphaeldocument.getElementById'canvas_container','90%,'50%;,该怎么办?这就是为什么我想得到画布的大小,而不是容器的大小。您的示例在这方面不是很清楚,因为您使用100%作为示例值。我现在更新了我的答案。谢谢!你成就了我的一天,这正是我想要的。我知道paper变量的引用,因此paper.canvas.offsetWidth似乎是获得这些度量值的一个很好的解决方案。您的示例似乎不再有效。有没有其他方法可以检索拉斐尔画布的当前宽度和高度?我在拉斐尔的参考文献中找不到任何东西。+1需要注意的是,只有当元素可见时,这才有效。例如,如果您在一个隐藏的容器中生成Raphael,然后稍后显示它,当它隐藏时,这将返回0非常感谢您的回答,但它没有回答我的问题。虽然很高兴知道这一点。但是,如果我决定制作新的Raphaeldocument.getElementById'canvas_container','90%,'50%;,该怎么办?这就是为什么我想得到画布的大小,而不是容器的大小。您的示例在这方面不是很清楚,因为您使用100%作为示例值。我现在更新了我的答案。谢谢!你成就了我的一天,这正是我想要的。我知道paper变量的引用,因此paper.canvas.offsetWidth似乎是获得这些度量值的一个很好的解决方案。您的示例似乎不再有效。有没有其他方法可以检索拉斐尔画布的当前宽度和高度?我在拉斐尔的参考文献中找不到任何东西。+1需要注意的是,只有当元素可见时,这才有效。例如,如果您在一个隐藏的容器中生成Raphael,然后在它隐藏时稍后显示它,则返回0@amustill奥巴马的答案不再有效。这是正确的答案。@amustill的答案不再有效。这是正确的答案。
paper = new Raphael(document.getElementById('canvas_container'), '100%', '100%');