Javascript 如何使用d3.js制作一个从黑到白连续闪烁的svg文本?
下面的代码无法正常工作。我想创建一个文本svg,它在黑白之间不断交替。谢谢你的帮助Javascript 如何使用d3.js制作一个从黑到白连续闪烁的svg文本?,javascript,d3.js,svg,Javascript,D3.js,Svg,下面的代码无法正常工作。我想创建一个文本svg,它在黑白之间不断交替。谢谢你的帮助 <svg width="1000" height="500"> <text x="100" y="400" fill="red" id="test123">Make this Text Blink!</text> </svg> <script type="text/javascript">
<svg width="1000" height="500">
<text x="100" y="400" fill="red" id="test123">Make this Text Blink!</text>
</svg>
<script type="text/javascript">
function text_blink(){
d3.select("#test123")
.transition()
.duration(1000)
.style("fill", "rgb(255,255,255)")
.transition()
.duration(1000)
.style("fill", "rgb(0,0,0)");
}
for (x=0; x<40; x++){
text_blink()
}
</script>
使此文本闪烁!
函数文本_blink(){
d3.选择(“测试123”)
.transition()
.持续时间(1000)
.样式(“填充”、“rgb(255255)”)
.transition()
.持续时间(1000)
。样式(“填充”、“rgb(0,0,0)”);
}
对于(x=0;x使用,其中
为指定的事件类型名称向每个选定元素添加或删除侦听器
…您可以在转换结束时重复调用相同的函数:
函数闪烁(){
d3.选择(“文本”).transition()
.持续时间(1000)
.样式(“填充”、“rgb(255255)”)
.transition()
.持续时间(1000)
.样式(“填充”、“rgb(0,0,0)”)
.on(“结束”,闪烁)
//^------^----转换结束时再次调用闪烁
}
闪烁();
使此文本闪烁!
您可以使用d3版本3中的,而不是“
上的
function blink() {
d3.select("text").transition()
.duration(1000)
.style("fill", "rgb(255,255,255)")
.transition()
.duration(1000)
.style("fill", "rgb(0,0,0)")
.each("end", blink)
// ^------^---- calling blink again when the transition ends
}
blink();
的确,我明白了,但问题仍然是,我如何实现它才能让它持续执行?谢谢你的解决方案!我最初没有看你的完整帖子。。。