D3.js按类对文本元素进行分组 - 使它们隐藏和可见

时间:2018-03-19 21:42:26

标签: javascript d3.js

D3新秀在这里

我有很多文字元素。我想在点击一个按钮时显示一些,其他一些消失,而另一个则点击另一个按钮。

问题是我只能通过变量名逐一引用它们,并且在它们的类中引用它们时会失败。

我想写更少的代码,所以我在这里寻求帮助!

文字元素:

   var text1 = svg.append("text")
     .attr("class",'appearing_text')
     .attr('visibility','hidden')
     .attr("x", 30)
     .attr("y", 55)
     .text("Blah")

   var text2 = svg.append("text")
     .attr("class",'appearing_text')
     .attr('visibility','hidden')
     .attr("x", 30)
     .attr("y", 255)
     .text("Non-Blah")

然后我们点击按钮[这工作]

使它们可见
    d3.select("#button1").on('click', function(){
            text1("visibility", "visible").enter(text1)
            text2("visibility", "visible").enter(text2)
    })

并让他们再次与另一个[这也有效]

隐藏
    d3.select("#button2").on('click', function(){
            text1("visibility", "hidden").enter(text1)
            text2("visibility", "hidden").enter(text2)

    })   

我尝试了这个,但它打破了我的所有脚本[不起作用]

    d3.select("#button1").on('click', function(){
       .selectAll('.appearing_text').style("visibility", "visible").enter()

0 个答案:

没有答案