【发布时间】:2013-01-05 02:14:58
【问题描述】:
首先,我使用 d3.js 在数组中显示不同大小的圆圈。在鼠标悬停时,我希望鼠标悬停的圆圈变大,我可以做到,但我不知道如何将它带到前面。目前,一旦它被渲染,它就会隐藏在多个其他圆圈后面。我该如何解决这个问题?
这是一个代码示例:
.on("mouseover", function() {
d3.select(this).attr("r", function(d) { return 100; })
})
我尝试使用 sort 和 order 方法,但它们不起作用。我很确定我没有正确地做到这一点。有什么想法吗?
【问题讨论】:
-
我还是 d3.js 的新手,但我认为您应该能够通过隐藏/显示元素以重新渲染它来实现这一点?
-
从这篇文章看来,将元素重新附加到 svg 会产生这种效果。 stackoverflow.com/questions/482115/…
-
d3.selection.prototype.moveToFront = function() { return this.each(function() { this.parentNode.appendChild(this); }); };然后你可以说 selection.moveToFront()。
-
查看 Ian 如何在此支流条目中使用此方法:enjalot.com/tributary/3651456
-
Fiddle here 使用 moveToFront 方法。
标签: javascript d3.js visualization