2013-07-16 53 views
6

我正在使用D3的强制布局来组织一个网络图,并且一切正常。如何判断D3强制布局何时停止

但是,我想向我的用户界面添加一个按钮,以便用户可以随意播放/暂停布局过程:我想要一个反映当前布局状态的切换按钮:是否正在计算或者没有(当布局稳定时,d3自动停止计算)。有什么方法可以说明强制布局计算何时完成并开始?我期望某种事件来处理这个事件,但是找不到一个事件。

回答

1

实际上并没有“停止”计算布局的概念。即使它看起来像静止不动,仍然可能有微小的变化。您可以执行的操作是检查alpha的值,如果它低于阈值,则将其解释为停止。在这种情况下,您可以将其设置为负值,从而明确停止布局。没有特定的事件,但您可以在tick事件处理程序中检查您的条件。

+1

嗨,拉尔斯。 'end'事件监听器自v2.8.0以来一直可用。 (rel 2012年2月24日)。 jsFiddle:http://jsfiddle.net/zschuessler/gRqv3/ –

+0

好抓!检查alpha也可能更安全,因为它需要很长时间才能实际为零。 –