d3点击javascript替代颜色

前端之家收集整理的这篇文章主要介绍了d3点击javascript替代颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始玩d3,并且想知道如何在点击元素时替换元素的颜色.

这个小提琴改变了点击它的圆圈的颜色,但是后来再次点击后,我想将颜色恢复为白色.

当前代码

var sampleSVG = d3.select("#viz")
        .append("svg")
        .attr("width",100)
        .attr("height",100);    

    sampleSVG.append("circle")
        .style("stroke","gray")
        .style("fill","white")
        .attr("r",40)
        .attr("cx",50)
        .attr("cy",50)
        .on("click",function(){d3.select(this).style("fill","magenta");});

解决方法

使自己成为一个切换功能,并将其传递到点击: http://jsfiddle.net/maniator/Bvmgm/6/
var toggleColor = (function(){
   var currentColor = "white";

    return function(){
        currentColor = currentColor == "white" ? "magenta" : "white";
        d3.select(this).style("fill",currentColor);
    }
})();

猜你在找的JavaScript相关文章