2

我目前正在使用 d3.js 进行可视化。请看这里。(这是一个保管箱链接,您可能必须允许它加载。)

我创建了一个函数,其中每个重叠元素在将鼠标悬停在地图上的一个点上时都会增加大小。

请尝试以下用例: 1. 单击美国放大该国家/地区。2. 拖动并平移到纽约并将鼠标指针悬停在该点上。

如果一切顺利,您应该会看到一个巨大的圆圈,其中嵌入了多个同心圆。它们都是该特定坐标处的重叠元素。

我面临的问题是,当 SVG 元素的大小增加时,其他城市的点会重叠在同心圆之上。

我的问题是:如何制作圆圈,我将鼠标悬停在 SVG 画布上,这样就看不到这样的点了。

4

2 回答 2

2

最终的解决方案是在mouseover上附加 SVG 元素。这会将元素堆叠在 SVG 画布的最顶部,并在mouseout上删除它们。目前没有 SVG 元素的 z-index 替代品。

于 2013-01-02T13:04:35.187 回答
2

您可以通过直接抓取 DOM 节点并将其放在顶部来做到这一点:

this.parentNode.appendChild(this);

这是一个例子:http ://bl.ocks.org/1197731

于 2013-01-04T18:08:13.763 回答