我是javascript和cytoscape的新手。
我想生成一个图,(仍然是硬编码的)


现在,我需要缩放一个单击的节点。
同样,当单击节点时,显示另一个图


感谢您的帮助

谢谢

最佳答案

您可以将节点上的click事件绑定到cytoscape,如下所示:

cy.bind('click ', 'node', function (evt) {
    var pos = cy.nodes("[id = " + evt.target.data().id + "]").position();
    cy.zoom({                       // Zoom to the specified position
      level: yourLevel,             // 0 <= yourLevel, maybe try out 1,2,3,4... and see what fits
      position: pos
    });
});


要显示另一个图,只需执行相同的bind函数并将元素添加到空图:

cy.bind('click', 'node', function (evt) {
    cy.remove(cy.elements());                 // remove elements and reset graph
    cy.reset();                               // graph is empty now
    cy.add(yourElements);                     // add new elements
    cy.elements().layout(yourLayout).run();   // give them a layout
});


最后,您可能需要对拥有的绑定进行cy.unbind()并再次进行绑定,以确保您不会多次调用这些绑定。

亲切的问候!

关于javascript - 如何放大cytoscape中的选定节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52255932/

10-11 10:32