我试图获得组对象的绝对位置。 在html中我有:
<svg width="1301" height="388">
<g transform="translate(3245.914484377907,2040.9185616875811)scale(1.0)">
<g class="node" data-toggle="popover" data-placement="bottom" transform="translate(33,50)">
<image xlink:href="/thumb_glyphicons/commons/stack-overflow.png" x="-3014" y="-1905" width="64" height="64" transform="rotate(0 -2982,-1873)"></image>
<text x="-2982" y="-1819" text-anchor="middle" font-size="12.8px">absolute position</text>
</g>
</g>
</svg>
我看到它有一些attr:scale,group_main_translate_x,group_main_translate_y,node_translate_x,node_translate_y,node_x,node_y
我尝试函数:abs_node_x =(node_translate_x + node_x + group_main_translate_x)* scale。
似乎是对的:(-3014 + 33 + 3245.914484377907)* 1
但是当比例!= 1时,我的值有误。有时我得到“-value”。
Plz修复函数计算帮助我!
答案 0 :(得分:0)
首先,对于这样的问题,我建议使用jsFiddle或类似的方法来显示问题和代码。
如果我正确理解了这个问题,那么你的功能似乎是正确的。您需要做的就是将结果除以缩放值。
另请注意,不同浏览器的处理规模不同。 Chrome可能包括尺寸缩放到尺寸,而IE则没有。因此,对于200x宽度的盒子,缩放2倍,你将获得Chrome浏览器400px和IE浏览器200px。
希望这有帮助。