Javascript 在D3.js中操纵不透明度和文本
我正在尝试编写一个函数,使用点链接和D3将文本更改为div 我想选择我的外部div,将其不透明度转换为0,选择内部div并更改文本,然后将外部div转换回1。所以整个事情看起来像这样:Javascript 在D3.js中操纵不透明度和文本,javascript,html,css,d3.js,selection,Javascript,Html,Css,D3.js,Selection,我正在尝试编写一个函数,使用点链接和D3将文本更改为div 我想选择我的外部div,将其不透明度转换为0,选择内部div并更改文本,然后将外部div转换回1。所以整个事情看起来像这样: d3.select("div#outer").transition() .duration(200) .style("opacity",0) .transition() .duration(200) .style("opacity",1) d3.select("div#i
d3.select("div#outer").transition()
.duration(200)
.style("opacity",0)
.transition()
.duration(200)
.style("opacity",1)
d3.select("div#inner").transition().delay(200).text("This is the new text")
一定有更好的办法。我有没有办法把这两种选择结合起来?理想情况下,我会将此函数全部设置为一个函数,并相应地调用它。您可以从外部div的转换中修改内部div,只需侦听将外部div的不透明度设置为零的转换的结束:
d3.select("div#outer").transition()
.duration(200)
.style("opacity",0)
.on("end", function() {
d3.select("#innerDiv").html("This is new text")
})
.transition()
.duration(200)
.style("opacity",1)
这看起来慢了下来:
d3.selectdivouter.transition
.期限2000
.styleopacity,0
.ONED,功能{
d3.selectinner.html这是新文本
}
过渡
.期限2000
.不透明度,1
外{
填充:50px;
背景色:ccc;
}
一些文本
您可以从外部div上的转换中修改内部div,只需侦听将外部div的不透明度设置为零的转换的结束:
d3.select("div#outer").transition()
.duration(200)
.style("opacity",0)
.on("end", function() {
d3.select("#innerDiv").html("This is new text")
})
.transition()
.duration(200)
.style("opacity",1)
这看起来慢了下来:
d3.selectdivouter.transition
.期限2000
.styleopacity,0
.ONED,功能{
d3.selectinner.html这是新文本
}
过渡
.期限2000
.不透明度,1
外{
填充:50px;
背景色:ccc;
}
一些文本
很高兴你取消了过渡,因为这是不可能的!完美,正是我需要的。非常感谢。end是一个特定于D3的操作,还是只是javascript?特定于D3?不是正常的DOM事件。此外,当所有选定项目结束其转换时,但当每个元素结束其转换时,也不会触发ONED侦听器-这可能需要在一次转换多个元素时进行一些额外的考虑。删除转换非常好,因为这是不可能的!完美,正是我需要的。非常感谢。end是一个特定于D3的操作,还是只是javascript?特定于D3?不是正常的DOM事件。此外,当所有选定项结束其转换时,但当每个元素结束其转换时,也不会触发ONED侦听器-这在同时转换多个元素时需要额外考虑。