在过渡结束时调用回调

我需要使用D3.js制作FadeOut方法(类似于jQuery)。我需要做的是使用将不透明度设置为0 transition()。


d3.select("#myid").transition().style("opacity", "0");

问题是我需要一个回调来实现转换完成的时间。如何实现回调?


阿波罗的战车
浏览 251回答 3
3回答

撒科打诨

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") });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript