Javascript 单击后清除d3中的不透明度
所以我有一个饼图,当我点击一个单独的弧时,它的不透明度会下降到0.7。但是,当我单击另一个圆弧时,我希望不透明度返回到1。此代码目前不起作用。每当我单击新圆弧时,以前单击的任何圆弧的不透明度都将保持不变 问题是您正在将path元素附加到g元素上,并在其上设置不透明度。因此,在单击处理程序中,您必须再次选择这些:Javascript 单击后清除d3中的不透明度,javascript,d3.js,Javascript,D3.js,所以我有一个饼图,当我点击一个单独的弧时,它的不透明度会下降到0.7。但是,当我单击另一个圆弧时,我希望不透明度返回到1。此代码目前不起作用。每当我单击新圆弧时,以前单击的任何圆弧的不透明度都将保持不变 问题是您正在将path元素附加到g元素上,并在其上设置不透明度。因此,在单击处理程序中,您必须再次选择这些: var arcs = vis.selectAll("g.slice").data(pie).enter().append("svg:g").attr("class",
var arcs = vis.selectAll("g.slice").data(pie).enter().append("svg:g").attr("class", "slice");
arcs.append("svg:path")
.on("click", function(d) {//clicking on individual arcs
arcs.style("opacity", 1);
d3.select(this).style("opacity", 0.7);
在单击处理程序中,用vis.selectAllg.slice.Hmm替换仍不起作用的圆弧,之前单击的圆弧的不透明度仍为0.7。不透明度仍然没有重置为1。使其成为圆弧。选择AllPath。是的,谢谢!!!那就行了!!!!!!你太棒了!!
.on("click", function(d) {
arcs.selectAll("path").style("opacity", 1);
d3.select(this).style("opacity", 0.7);
})