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()