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 如何使svg圆圈显示在d3路径上方而不是下方?_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 如何使svg圆圈显示在d3路径上方而不是下方?

Javascript 如何使svg圆圈显示在d3路径上方而不是下方?,javascript,svg,d3.js,Javascript,Svg,D3.js,我编写了一个d3图形插件,它根据提供给它的实时数据绘制图形。将鼠标悬停在图形上时,鼠标后面会出现一个工具提示,显示该点的数据。此工具提示的一部分是一个圆,该圆显示在路径上距离光标最近的点处。问题是,无论我怎么做,我都不能让这个圆出现在路径线上方,就像它所指向的那样。我尝试过使用z-index、更改元素的附加顺序,以及其他一些非常古怪的尝试。没有任何东西会产生影响(除了破坏一切)。下面是代码的一部分。所讨论的元素具有类“focusCircle”。任何帮助都将不胜感激。在调用“调整大小”函数之前,您

我编写了一个d3图形插件,它根据提供给它的实时数据绘制图形。将鼠标悬停在图形上时,鼠标后面会出现一个工具提示,显示该点的数据。此工具提示的一部分是一个圆,该圆显示在路径上距离光标最近的点处。问题是,无论我怎么做,我都不能让这个圆出现在路径线上方,就像它所指向的那样。我尝试过使用z-index、更改元素的附加顺序,以及其他一些非常古怪的尝试。没有任何东西会产生影响(除了破坏一切)。下面是代码的一部分。所讨论的元素具有类“focusCircle”。任何帮助都将不胜感激。

在调用“调整大小”函数之前,您的圆将被渲染。“resize”函数调用“draw”函数,其中附加了两条路径。我想这些就是你的圆上方的元素。

你有没有尝试在SVG中添加第二个只包含圆的
g
元素?我是这样添加的
rrd3.graph.append(“g”).append(“circle”)
但这似乎没有帮助。SVG元素是按照它们出现的顺序呈现的,因此,当您尝试更改时,一定有错误。您能告诉我应该做的正确更改吗?我会在顶级
g
元素之后附加一个单独的
g
元素,并将圆添加到该元素中(并且仅添加圆)。是的,您是正确的。但即使在改变了附件的顺序之后,它也没有修复它。你有什么建议吗?我能看看你的更新代码吗?也许plnkr、jsbin或JSFIDLE会有用