为了账号安全,请及时绑定邮箱和手机立即绑定

在过渡结束时调用回调

在过渡结束时调用回调

阿波罗的战车 2019-11-13 15:23:39
我需要使用D3.js制作FadeOut方法(类似于jQuery)。我需要做的是使用将不透明度设置为0 transition()。d3.select("#myid").transition().style("opacity", "0");问题是我需要一个回调来实现转换完成的时间。如何实现回调?
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

Mike Bostock 针对v3的解决方案进行了小小的更新:


  function endall(transition, callback) { 

    if (typeof callback !== "function") throw new Error("Wrong callback in endall");

    if (transition.size() === 0) { callback() }

    var n = 0; 

    transition 

        .each(function() { ++n; }) 

        .each("end", function() { if (!--n) callback.apply(this, arguments); }); 

  } 


  d3.selectAll("g").transition().call(endall, function() { console.log("all done") });


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信