D3可见性 - 如果声明

时间:2015-03-10 14:18:26

标签: if-statement d3.js visibility

我有一个函数,它通过单击按钮来更改元素的可见性。

$<button class="pure-button pure-button-primary" title="convex-button" onclick= "convexHullvisibility()"><i>Convex Hull</i></button>$

不幸的是,此功能不起作用,我认为问题出在 if statement

function convexHullvisibility(){

            if (hull.attr("visibility", "visible")){
                alert("1");
                hull.attr("visibility", "hidden");
            }
            else{
                alert("2");
                hull.attr("visibility", "visible");
            }
        }

船体的定义在这里

svg.append("rect")
                .attr("width", width)
                .attr("height", height);

        var hull = svg.append("path")
                .attr("class", "hull")
                .attr("visibility", "visible");

        var vertices = [];

        function redraw() {
            hull.datum(d3.geom.hull(vertices)).attr("d", function (d) {
                return "M" + d.join("L") + "Z";
            });
        }

if-statement的任何帮助??

1 个答案:

答案 0 :(得分:2)

两个参数attr用于设置属性值,如果你想测试它们,你需要使用单参数形式来获取该值并使用普通的JS运算符进行测试

if (hull.attr("visibility") == "visible"){