我一直在使用 cytoscape edgehandles demo ,在操作它时遇到了一些问题。
首先,看起来画布上下文在cy视口中不是x = 0,y = 0,因为位于左上角的节点的位置不是0,0。
其次,如果将cy div嵌入到首先设置为{display:none}的div中,则使用jquery函数显示它($(" div#id")。 ();),图形不再显示在视口中。
最终可以显示(窗口必须由用户手动调整大小以显示它),图形比例减小,所有节点都显示在视口的左上角。图表默认设置已更改。
如何避免这个问题? 非常感谢任何提示!
答案 0 :(得分:0)
首先,看起来画布上下文在cy视口中不是x = 0,y = 0,因为位于左上角的节点的位置不是0,0。
如果使用可以更改视口的布局(例如,通过fit
),则不能假设(0,0)。
其次,如果将cy div嵌入到首先设置为{display:none}的div中,当使用jquery函数来显示它时($(“div#id”)。show();),图表不再显示在视口中。
是。你不能这样做(或至少以这种方式或单独)。 Cy.js不能以这种方式获得尺寸。您必须使用cy.resize()
中提到的the docs for init。
或者您可以使用display: none
之外的其他内容进行隐藏,例如页外绝对定位等。
最终可以显示(窗口必须由用户手动调整大小以显示它),图形比例减小,所有节点都显示在视口的左上角。图表默认设置已更改。
是的,因为可以检测到window
调整大小而您的显示/隐藏不能(因为HTML + CSS的限制)。再次使用cy.resize()
。