我似乎无法在单击时更改节点的样式。我需要以编程方式执行此操作以跟踪图中的两个节点,基本上是同时“选择”两个节点,每个节点都是我定义的不同类型。此处 ( http://js.cytoscape.org/#eles.addClass ) 中有一些示例,可以在工作表中为某些节点“删除”一种新样式。我不明白这些类是如何工作的,它们在样式表中的定义位置以及可以使用的事件。
该库的文档没有提供类的实际解释、定义它们的位置以及它们的用途。任何帮助深表感谢。
最佳答案
我认为这些类就像 css 类。当您第一次初始化 cytoscape 时,您可以有一个可选的 style
参数如...
var cy = cytoscape({
style: [
{
selector: '.myFirstClass',
style: {
'background-color': 'red',
'shape': 'rectangle'
...
},
{
selector: '.mySecondClass',
style: {
'background-color': 'blue',
'shape': 'triangle'
...
}
});
现在,当您更改节点的样式时,它将反射(reflect)您在样式表中设置的内容。所以...
cy.$('#nodeA').classes('mySecondClass');
,其中 #nodeA
是您节点的 ID。这会将您的第一个节点变成蓝色三角形。希望有所帮助。
关于class - Cytoscape.js 在单击时更改节点的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40215892/