我有一个非常简单的问题,但找不到解决方案。我做了一个圈子,每个圈子都分配了一个班级。在mouseOver上,我想更改与鼠标所在的圆相同的类的所有圆的属性。

这是我的代码

svg.selectAll(".filas")
                    .data(new Array(18))
                    .enter().append("g")
                    .attr("class","filas")
                    .attr("transform", function (d,i) { return "translate(400," + ((20*i)+20) + ")";})
                    .selectAll("circle")
                    .data(function () {
                        return new Array(4);
                    })
                    .enter().append("circle")
                    .attr("cy", 0)
                    .attr("cx", function (d,i) {return -1 * (i+4) * 30;})
                    .attr("r", 10);

        //set classes to circles

                svg.selectAll("circle")
                    .data(data)
                    .attr("class", function(d) {
                        return (d) ? "fp_" + d : null;
                    })
                    .on("mouseover", mouseover)
                    ;



                function mouseover(clase) {

                         svg.selectAll(".fp_K")
                            .transition()
                            .duration(500)
                            .style("opacity", .2);


我为每个圆圈添加了.on(“ mouseover”,mouseover),但我不知道如何编写该函数。到目前为止,我仅更改了在mouseover函数中选择的类的属性。

提前致谢。

这是整个代码

http://jsfiddle.net/ploscri/t5ams/

最佳答案

更改:

svg.selectAll(".fp_K")




svg.selectAll("." + this.getAttribute('class'))

关于javascript - 在mouseover D3js上选择元素的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18691431/

10-13 00:46