Javascript 将Cytoscape.js中的节点大小增加一个特定值
我使用以下json内容指定每个节点的大小:Javascript 将Cytoscape.js中的节点大小增加一个特定值,javascript,cytoscape.js,Javascript,Cytoscape.js,我使用以下json内容指定每个节点的大小: "data": { "id": "Name", "name": "NameID", "faveColor": "#86B342", "size": 120 } 生成图形后,我希望将所有节点的大小增加一个特定值(来自用户输入) 鉴于 'data(size)' + value 这不是一个合法的操作,有人能建议一个合适的方法来实现它吗 谢谢您正在尝试使用字符串添加int,但该字符串似乎不起作用。相反,尝试获取属性值,然后将输入值添加到属性值中 您
"data": {
"id": "Name",
"name": "NameID",
"faveColor": "#86B342",
"size": 120
}
生成图形后,我希望将所有节点的大小增加一个特定值(来自用户输入)
鉴于
'data(size)' + value
这不是一个合法的操作,有人能建议一个合适的方法来实现它吗
谢谢您正在尝试使用字符串添加int,但该字符串似乎不起作用。相反,尝试获取属性值,然后将输入值添加到属性值中 您可以通过将第二个参数传递给
nodes()。data('element','value')
您的代码如下所示:
cy.nodes().forEach(function(node){
node.data('size', parseInt(node.data('size')) + 10);
console.log(node.data('size'))
});
要点(事实上,我承认向字符串添加int是不合法的)…假设您试图建议选择某个特定id的节点,我不知道如何捕获网络的所有节点(每个节点都有一个唯一的id)…更详细地说,这种方法,甚至对于单个节点,每次进行更改时都会更改输入数据(几乎没有恢复到原始状态的空间)…并且对于单个节点也不起作用。。。。(this.size+100)这是正确的方法吗?这是最好的答案。另一种方法是在样式表中使用函数,这样就可以使用
width:function(){return n.data('size')+n.data('sizeDiff')}
,但这可能会影响性能。只有当size
是一个字符串时,上述答案中的parseInt()
才是必要的。你能给我们更多的代码继续吗?你删除了整个交互历史记录和你的答案(只是因为担心被否决??),希望我现在浪费更多的时间和你在一起?评论应该帮助其他用户了解已经尝试过的内容以及可以进一步尝试的内容。失望!我在改进我的答案。没必要粗鲁