9
A
回答
6
当布局收敛,force.alpha()
将被设置为0。设置一个计时器轮询为(不要过于频繁! ),你会知道你什么时候完成。
此示例应每隔interval
毫秒重试,直到布局停止。变量timer
保留当前计时器,如果您不想等待布局完成,可以重置该计时器。
var timer = null;
function onCompletion(force, callback, interval) {
interval = interval || 300;
function retryIfRunning() {
if (force.alpha() != 0)
timer = setTimeout(checkAndRetry, interval);
else {
timer = null;
callback();
}
}
retryIfRunning();
}
2
这是不可能的,因为内置的功能,因为它取决于你考虑为与放置节点完成。完成的方式是调用tick
函数n
次,其中n
取决于您拥有的图表大小和所需的精度。
#force.tick():运行力布局模拟一步。
我鼓励你,如果你想知道更多阅读force.tick()
文档:https://github.com/mbostock/d3/wiki/Force-Layout#wiki-tick
13
从the documentation,当布局完成时分派的end
事件,即当force.alpha === 0
。
所以,你可以找出当它与完成:
force
.nodes(yourNodes)
.links(yourLinks)
.on('tick', function() {
// layout is in progress
})
.on('end', function() {
// layout is done
callback();
});
相关问题
- 1. d3强制布局 - 定位节点
- 2. D3JS强制布局新节点断开现有节点
- 3. 如何在UIWebView完成加载时强制重新布局UITableViewCell?
- 4. D3强制布局:突出显示节点的颜色(“圆圈”)
- 5. D3强制定向布局+所有节点到原始位置
- 6. 更新节点'D3强制布局中的子元素位置
- 7. d3.js:强制布局中的建议节点位置
- 8. d3强制布局链接在节点中的位置
- 9. 如何在强制布局中访问节点的weight属性?
- 10. D3.js强制布局:如何隔离节点组?
- 11. 如何在D3强制布局中添加复合节点?
- 12. 如何删除D3强制布局中的节点?
- 13. 创建强制定向布局gexf文件与节点位置生成
- 14. 如何拖放节点,如果我给D3节点的固定像素强制布局
- 15. Drupal 7:如何完全控制节点的布局
- 16. D3.js强制布局:显示任何节点的根路径
- 17. 如何完成此布局?
- 18. D3强制布局应在点击节点时添加节点和链接
- 19. 检测d3.js中的可见节点在缩放平台后强制布局
- 20. d3强制布局缩放和平移与节点拖动冲突
- 21. D3 JS - 强制图 - 删除节点后不重新启动布局节点
- 22. 在d3强制布局中查找/重新定位任意节点
- 23. 在d3中拖动多个节点强制定向布局
- 24. d3强制布局将组作为“节点”
- 25. D3js强制布局更新节点和链接
- 26. D3.js v4强制布局和固定节点异常
- 27. 在d3强制布局中移动固定节点
- 28. D3强制布局节点属性没有正确更新
- 29. 仅修复强制布局中节点的一个维度?
- 30. javascript-D3强制布局默认折叠某个节点
这是方式更短,然后接受的解决方案! @TO也许切换接受? – kwoxer