我想使用cytoscape librairy来构建示例图,但我希望在每个节点上显示不同的图像。
我试过了:
[
{
"data": [
"id0"
],
"position": {
"x": 44,
"y": 93
}
},
{
"data": [
"id1"
],
"position": {
"x": 77,
"y": 200
},
"background-image": [
"https://upload.wikimedia.org/wikipedia/commons/b/b4/High_above_the_Cloud_the_Sun_Stays_the_Same.jpg",
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Pigeon_silhouette_4874.svg/1000px-Pigeon_silhouette_4874.svg.png"
],
"background-fit": "cover cover",
"background-image-opacity": 0.5
}
]
但是当我加载页面时,我看到两个“空”节点。我用过这个javascript脚本:
fetch('data.json', {mode: 'no-cors'})
.then(function(res) {
return res.json()
})
.then(function(data) {
var cy = window.cy = cytoscape({
container: document.getElementById('cy'),
layout: {
name: 'preset',
},
style: [
{
selector: 'node',
style: {
'height': 20,
'width': 20,
}
}
],
elements: data
});
});
我的错误在哪里?如何在每个节点上生成具有不同背景图像的图形?
谢谢 :)
这是我的解决方案:https://plnkr.co/edit/lKjxkMS8F1E68Mk70fjS?p=preview
重要的是设置为#cy的css。
#cy {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 999;
}
编辑:这是正确的 - > https://plnkr.co/edit/lKjxkMS8F1E68Mk70fjS?p=preview
它必然是“背景图像”换行标签“样式”。
"style": {
"background-image": [
"https://upload.wikimedia.org/wikipedia/commons/b/b4/High_above_the_Cloud_the_Sun_Stays_the_Same.jpg",
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Pigeon_silhouette_4874.svg/1000px-Pigeon_silhouette_4874.svg.png"
],
"background-fit": "cover cover",
"background-image-opacity": 0.5
}