我需要使用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") });
添加回答
举报
0/150
提交
取消