Javascript 鼠标悬停圆的D3坐标
我正在尝试访问鼠标悬停圆的坐标,以便可以在同一位置绘制新圆并设置动画。当用户单击页面时会添加圆圈,因此会添加指定给它们的“鼠标悬停”属性 我正在尝试访问鼠标移动到的当前圆的x,y位置Javascript 鼠标悬停圆的D3坐标,javascript,svg,d3.js,Javascript,Svg,D3.js,我正在尝试访问鼠标悬停圆的坐标,以便可以在同一位置绘制新圆并设置动画。当用户单击页面时会添加圆圈,因此会添加指定给它们的“鼠标悬停”属性 我正在尝试访问鼠标移动到的当前圆的x,y位置 var y = d3.select(currentCircle).attr("cy"); currentCircle在哪里 var currentCircle = this; 但是,它总是给出null 当调用console.log(currentCircle)时,currentCircle肯定保存了正确的SVG
var y = d3.select(currentCircle).attr("cy");
currentCircle在哪里
var currentCircle = this;
但是,它总是给出null
当调用console.log(currentCircle)时,currentCircle肯定保存了正确的SVG元素
代码>
在控制台中
如何得到圆的x和y坐标
链接中整个设置的小提琴
来自罗伯特的评论:
结果是,我忘记在初始化时为圆圈设置cx和cy,所以在读取这些属性时,它们显然是空的
.attr("cx", x)
.attr("cy", y)
设置初始圆位置而不是
.attr("transform", function(d, i) { return "translate("+x+","+y+")"; })
您没有设置cx或cy,因此它实际上是空的。什么样的答案可以满足0或590和358的转换参数。如果是变换参数,那么请阅读变换属性。哇,我现在觉得很愚蠢,我原以为我已经从使用变换设置圆的位置改为直接设置cx,cy,但这仅适用于鼠标悬停动画的圆。现在都在工作。