Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 鼠标悬停圆的D3坐标_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 鼠标悬停圆的D3坐标

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

我正在尝试访问鼠标悬停圆的坐标,以便可以在同一位置绘制新圆并设置动画。当用户单击页面时会添加圆圈,因此会添加指定给它们的“鼠标悬停”属性

我正在尝试访问鼠标移动到的当前圆的x,y位置

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,但这仅适用于鼠标悬停动画的圆。现在都在工作。