Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击后清除d3中的不透明度_Javascript_D3.js - Fatal编程技术网

Javascript 单击后清除d3中的不透明度

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",

所以我有一个饼图,当我点击一个单独的弧时,它的不透明度会下降到0.7。但是,当我单击另一个圆弧时,我希望不透明度返回到1。此代码目前不起作用。每当我单击新圆弧时,以前单击的任何圆弧的不透明度都将保持不变

问题是您正在将path元素附加到g元素上,并在其上设置不透明度。因此,在单击处理程序中,您必须再次选择这些:

        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);
})