类似于这个原型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');
}
});
每次节点折叠或展开时,有没有办法重新计算图形的布局?
提前致谢