即使raphaeljs元素移动,也要动态获取其x和y值

3

如何在raphael js元素缩放或左右移动后动态获取其x和y值,我想在元素附近显示一个div。当我显示element.getBBox()值时,发现它们即使我移动元素或缩放也不会改变。我用来获取x和y值的代码看起来像这样:

x = (myElement.getBBox().x+myElement.getBBox().x2)/2;
x+=$("#container").offset().left;
y = (myElement.getBBox().y+myElement.getBBox().y2)/2;
y+=$("#container").offset().left;
我移动的代码(一个工具提示)是:
$("#myTooltip").css({"left":x+"px","top":y+"px"}).show();

注意:当我使用鼠标坐标(使用x=e.pageX;y=e.pageY;)执行相同操作时,它有效,但在这种情况下,我希望在单击页面上的另一个按钮时执行此操作。
提前感谢您。
2个回答

1
我也在使用Raphael,并且遇到了我认为你在项目中需要的东西。
为了理解如何动态显示xy,请看这个DEMO
当您拖动对象时,您可以看到它们的坐标动态变化。祝好运!

1
解决方案是使用myElement.attr('x')myElement.attr('y')代替myElement.getBBox().xmyElement.getBBox().y,感谢A.S.罗马,别忘了向托蒂问好。 编辑:如果有人遇到同样的问题,我找到的最佳解决方案是使用jquery和raphael,解释如下:首先,在元素的定义中添加一个ID,例如myElement.node.id='myUniqueId',然后您可以使用jquery访问该元素,例如x = $("#myUniqueId").offset().lefty = $("#myUniqueId").offset().top

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接