在转换D3之后更改对象属性

mik*_*ike 3 javascript attributes transition d3.js

转换完成后,我想给对象一个属性.我只是按如下方式更新图像位置:

tmp.transition().duration(1000)
                    .attr("transform", function(d) {return 'translate(' + 
                    coordinates[d].x +',' + 
                    coordinates[d].y + ')'})
Run Code Online (Sandbox Code Playgroud)

一旦完成,我想给对象tmp一个属性"移动",值为"no".我试过了:

tmp.transition().duration(1000)
     .attr("transform", function(d) {return 'translate(' + 
            coordinates[d].x +',' + 
            coordinates[d].y + ')'}).end('moved', 'no')
Run Code Online (Sandbox Code Playgroud)

但没有成功.有小费吗?谢谢,

Fel*_*ing 5

根据文档,您可以使用.each:

tmp.transition().duration(1000)
 .attr("transform", function(d) {return 'translate(' + 
        coordinates[d].x +',' + 
        coordinates[d].y + ')'}
 ).each('end', function() {
     d3.select(this).attr('moved', 'no');
     // or maybe also this.setAttribute('moved', 'no');
 });
Run Code Online (Sandbox Code Playgroud)