Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何判断D3部队布局何时停止_Javascript_Events_Layout_D3.js_Force Layout - Fatal编程技术网

Javascript 如何判断D3部队布局何时停止

Javascript 如何判断D3部队布局何时停止,javascript,events,layout,d3.js,force-layout,Javascript,Events,Layout,D3.js,Force Layout,我使用D3的force布局来组织一个网络图,一切都很顺利 但是,我想在我的UI中添加一个按钮,以便用户可以随意播放/暂停布局过程:我希望有一个切换按钮,反映布局的当前状态:是否正在计算(当布局稳定时,d3将自动停止计算)。有没有办法知道部队布局计算何时完成和开始?我期待某种事件来处理这个问题,但找不到。实际上没有“停止”计算布局的概念。即使它看起来是静止的,也可能会有微小的变化。您可以做的是检查的值,并在其低于阈值时将其解释为已停止。在这种情况下,可以将其设置为负值,这将显式停止布局。没有针对此

我使用D3的force布局来组织一个网络图,一切都很顺利


但是,我想在我的UI中添加一个按钮,以便用户可以随意播放/暂停布局过程:我希望有一个切换按钮,反映布局的当前状态:是否正在计算(当布局稳定时,d3将自动停止计算)。有没有办法知道部队布局计算何时完成和开始?我期待某种事件来处理这个问题,但找不到。

实际上没有“停止”计算布局的概念。即使它看起来是静止的,也可能会有微小的变化。您可以做的是检查的值,并在其低于阈值时将其解释为已停止。在这种情况下,可以将其设置为负值,这将显式停止布局。没有针对此事件的特定事件,但您可以在事件处理程序中检查您的状况。

使用上记录的
end
事件


JSFIDLE:|查看控制台以查看监听器的操作。

嗨,拉尔斯。“结束”事件侦听器自v2.8.0起就可用。(2012年2月24日发布)。接球好!检查alpha也可能更安全,因为它实际上为零需要很长时间。
d3.layout.force()
   .on('end', function() { console.log('ended!'); });