类似于这个原型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');
}
});
每次折叠或展开节点时,有没有办法重新计算图表的布局?
提前致谢
答案 0 :(得分:0)
您可以随时运行布局。您还可以在元素的特定子集上运行布局:http://js.cytoscape.org/#eles.layout
在您的情况下,我想您只是在事件回调结束时运行布局。