我正在使用d3的力布局,并试图找到一种简单的方法来识别布局何时达到稳定状态(即当滴答功能停止操纵节点的位置时)。
我对力的定义看起来像这样......
var force = d3.layout.force()
.friction(frictionValue)
.theta(thetaValue)
//.alpha(0.1)
.size([width, height])
.gravity(gravityValue)
.charge(chargeValue)
.on("tick", tick);
然后滴答功能开始......
function tick(e) {
...
我认为“e”对于捕捉模拟的终点是关键,但是因为我没有明确地将e传递给我的力定义上的tick函数,所以我不确定它代表什么或如何我或许可以用它来识别模拟的结束。任何人都可以阐明e的功能(因为我没有明确地传递它的值),或甚至建议一个更好的方法来做一些简单的事情,一旦强制布局模拟显示“警报(..)”消息已经结束了?
提前感谢任何帮助!
答案 0 :(得分:7)
你几乎是正确的,只是勾选是错误的事件,你想要结束。所以将你的最后一行改为
.on("end", function (){
// some code
});
的API文档中阅读相关内容