Javascript 拉斐尔JS中两个百分点之间的界限
我试图在两个基于百分比定位的圆之间绘制一条路径。 他们这样定位的原因是我缩放纸张并希望保持其位置 这对圆很有效,但当我尝试绘制这样的路径时:Javascript 拉斐尔JS中两个百分点之间的界限,javascript,raphael,Javascript,Raphael,我试图在两个基于百分比定位的圆之间绘制一条路径。 他们这样定位的原因是我缩放纸张并希望保持其位置 这对圆很有效,但当我尝试绘制这样的路径时: paper.path("M55% 70%L25% 20%") 我得到的只是: Error: Problem parsing d="M,0,0" 我怎么知道的 另外,有没有一种方法可以在不手动计算的情况下获取元素的百分比位置 谢谢 更新: 我最终解决了我的问题,但采用了一种相当手动的变通方式: var canvasX = $('#worldmap svg
paper.path("M55% 70%L25% 20%")
我得到的只是:
Error: Problem parsing d="M,0,0"
我怎么知道的
另外,有没有一种方法可以在不手动计算的情况下获取元素的百分比位置
谢谢
更新:
我最终解决了我的问题,但采用了一种相当手动的变通方式:
var canvasX = $('#worldmap svg').width() / 100;
var canvasY = $('#worldmap svg').height() / 100;
mapCanvas.path("M" + Math.floor(parseFloat(from.attr("cx")) * canvasX) + " "
+ Math.floor(parseFloat(from.attr("cy")) * canvasY) + "L"
+ Math.floor(parseFloat(to.attr("cx")) * canvasX) + " "
+ Math.floor(parseFloat(to.attr("cy")) * canvasY));
不用说,这并不好。SVG中没有任何迹象表明这种语法是允许的。事实上,我有点惊讶,它允许像圆心这样的东西……但我想你是对的。
但是,如果执行缩放,位置将不会保持固定,正如您在本jsfiddle中所看到的:如何更准确地绘制圆?paper.circle('50%,'50%,'20%);