在Object Constancy中,我对“更改”事件的代码非常困惑:
var menu = d3.select("#menu select")
.on("change", change);
function change() {
clearTimeout(timeout);
d3.transition()
.duration(altKey ? 7500 : 750)
.each(redraw);
}
为什么要使用d3.transition()。each(),而不要使用transition.call()?我认为每次更改选项时都会触发redraw()函数。
切换到call()后,我丢失了动画,图形立即切换到动画的结尾。
答案 0 :(得分:0)
d3.transition()。each()
选择要翻译的对象并将其翻译为每个对象,就像在每个对象上一个接一个地添加运动,这样您就可以看到动画
示例
您的函数将选择一个对象
transition.call()
如果使用call而不选择对象,它将把所有对象转换为结果的结尾,因为它将选择对象组并运行一个函数并将结果返回给它,所以您将看不到动画
示例
您的函数将选择所有对象
那是流