Javascript 如何使用d3.js制作一个从黑到白连续闪烁的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,它在黑白之间不断交替。谢谢你的帮助

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

的确,我明白了,但问题仍然是,我如何实现它才能让它持续执行?谢谢你的解决方案!我最初没有看你的完整帖子。。。