1

类似于这个原型http://jsfiddle.net/g5f16erz/我使用 Cytoscape.js 使用 dagre 布局创建交互式有向无环图。

特别是以下代码用于折叠和展开节点:

cy.nodes().on('click', function(e) {
if (this.hasClass('open')) {
  this.removeClass('open');
  this.successors().removeClass('open').addClass('hidden');
} else {
  var children = this.neighborhood('.hidden');
  this.removeClass("collapsed");
  children.removeClass("hidden");
  children.incomers(".hidden").removeClass("hidden");
  this.addClass('open');
}
});

每次节点折叠或展开时,有没有办法重新计算图形的布局?

提前致谢

4

1 回答 1

0

您可以随时运行布局。您还可以在元素的特定子集上运行布局:http: //js.cytoscape.org/#eles.layout

在您的情况下,我想您只需在事件回调结束时运行布局。

于 2016-06-13T17:50:03.417 回答