我正在构建一个饼图,并且大部分都完成了。Svg文本元素被另一个svg元素重叠
无论如何,我试图在每个饼图片上实现一些悬停效果,但是我遇到了一个我无法解决的问题。当您将鼠标悬停在某个元素上时,文本的大小会增加,并且会使用过滤器添加黑色背景。与此相关的问题是,文本有时被隐藏在其他元素后面,就好像这些元素位于其他元素之上一样。解决这个问题的最佳解决方案是增加可视性并使其变得重要。
.pieChart svg>g text.hover {
font-size: 1.3em;
fill: #fff;
filter: url(#pieTextFilter);
visibility: visible !important;
}
但是,这并没有解决我的问题。
下面是表示这个问题(悬停在您切片4鼠标)指定的jsfiddle:http://jsfiddle.net/tinygram/22o1epyp/3/
如果你熟悉D3,它可能要注意,发生这种情况后,才更新图表是很重要的。如果你看看我的jsfiddle的底部,你会看到我正在启动图形,然后再运行一些更新的数据。我注意到这在dom中增加了一个新的和最后的svg。我真的不知道这是否重要,但我想我应该提及它。
在SVG元素的顺序由确定您添加元素的顺序。所以任何应该出现在顶端的东西都应该在DOM中最后。见例如[这个问题](http://stackoverflow.com/questions/14167863/how-can-i-bring-a-circle-to-the-front-with-d3)。 – 2015-02-07 21:03:33
谢谢拉尔斯。过去两天你帮了我很大忙。 – user2767260 2015-02-08 01:22:53