【发布时间】:2016-11-10 13:06:40
【问题描述】:
我有一个使用 D3.js 制作的圆环图。当鼠标悬停在相应的文字上时,我想改变弧线的颜色。
我知道如何更改第一个或全部的颜色,但相应的一个。
Here 是目前为止的代码。突出显示的行如下:
.on("mouseover", function(d,i){
//d3.select(".donutArcSlices").transition().style("fill", "#007DBC");
//d3.selectAll(".donutArcSlices").transition().style("fill", "#007DBC");
div.transition()
.duration(200)
.style("opacity", .9);
div .html(d.name)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout", function(d) {
d3.select(".donutArcSlices").transition().style("fill", "#3E4750");
div.transition()
.duration(500)
.style("opacity", 0);
});
如果我添加第一条注释行,当我将鼠标悬停在弧线中的任何文本上时,第一条弧线会改变颜色。如果我删除第二行的 cmets,那么所有的弧线都会在悬停在任何文本上时改变颜色。
【问题讨论】:
-
两个答案都很好,我会让社区决定哪个答案应该被接受。
标签: javascript d3.js hover