我正在使用vis.js,我的一个任务是实现以下行为:当我选择一个节点时,该节点及其邻居必须被突出显示。同时,所有其他节点必须具有“变灰”的效果。
查看vis.js展示时,我看到了这个网址:https://kenedict.com/networks/startups/,这正是我想要的效果。
问题是...我如何轻松地实现这种效果?我真的需要在图形中迭代所有节点并更改它们的颜色属性吗?
谢谢!
问题是...我如何轻松地实现这种效果?我真的需要在图形中迭代所有节点并更改它们的颜色属性吗?
谢谢!
是的,有一种快速找到邻居节点的方法:参见getConnectedNodes
方法:network.getConnectedNodes(nodeId)
将返回一个由连接节点id组成的数组;
获取这些id之后,您需要遍历所有节点并添加颜色。您可以添加/删除组,但仍然需要遍历所有节点,因为您需要更改未选中或非邻居节点的颜色。问题在于,这是一组非常自定义的节点,并且默认情况下选择时它们不会发生任何变化。