Sun*_*hah 12 javascript transition d3.js
过渡代码,
d3.select('chart').select('svg')
.selectAll("circle")
.data(sampleData)
.enter().append('circle')
.each(function (d,i)
{
d3.select(this)
.transition()
.delay(i*50)
.attr('cx', function(d) {return d.x;})
.attr('cy', function(d) {return d.y;})
.attr('r', 4);
});
Run Code Online (Sandbox Code Playgroud)
如何停止/取消预定/延迟交易?
Lar*_*off 16
正如另一个答案所指出的,您只需要安排一个新的过渡.但是,整个事情比你在代码中所做的要容易得多 - 不需要单独的.each()功能.要最初安排过渡,您可以这样做
d3.select('chart').select('svg')
.selectAll("circle")
.data(sampleData)
.enter().append('circle')
.transition()
.delay(function(d, i) { return i*50; })
.attr('cx', function(d) {return d.x;})
.attr('cy', function(d) {return d.y;})
.attr('r', 4);
Run Code Online (Sandbox Code Playgroud)
停止所有转换(计划和运行)的功能很简单
d3.selectAll("circle").transition();
Run Code Online (Sandbox Code Playgroud)
在这里完成演示.