1
我有2個Bootstrap列(每個寬度是12箇中的6個),左邊的那個有一些按鈕,右邊的那個包含用5個節點初始化的Cytoscape圖形。以後不能顯示隱藏的Cytoscape圖形
最初,當頁面加載完成時,Cytoscape圖形被設置爲隱藏。
$('.cyto_div').hide();
我的意圖是,當單擊「顯示」按鈕時,應出現Cytoscape圖形。
$('.cyto_div').show();
但是,只有覆蓋Cytoscape圖形的面板出現,圖形本身不會出現。當我調整瀏覽器的大小時,出現5個節點的Cytograph。
我懷疑與cy.resize()有關,但我不知道如何以及在哪裏做。
我很欣賞你的解決方案非常
完整的代碼是在這裏:
<!doctype html>
<html>
<head>
<title>Cytoscape with Bootstrap</title>
<script src="cytoscape.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style type="text/css">
#cy
{
border: solid;
border-width: 1;
height: 500px;
}
</style>
</head>
<body>
<div class="col-lg-6">
<button id="remove">Remove node a</button>
<button id="show">Show the cytograph</button>
</div>
<div class="col-lg-6 cyto_div">
<div class="panel panel-primary">
<div class="panel-heading">Graph Area</div>
<div id="cy">
<p> This area is for graph </p>
</div>
<p> End of cyto </p>
<button id = "test" class="btn active" style="white-space:normal;"> Test adding a new node </button>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var cy = cytoscape({
wheelSensitivity: 0.05,
minZoom: 0.9,
maxZoom: 20,
container: document.getElementById('cy'),
elements: [{ data: { id: 'a' } },
{ data: { id: 'b' } },
{ data: { id: 'c' } },
{ data: { id: 'd' } },
{ data: { id: 'e' } },
{
data: {
id: 'ab',
source: 'a',
target: 'b'
}
}],
style: [
{
selector: 'node',
style: {
label: 'data(id)'
}
}
]
});
$('.cyto_div').hide();
$('#test').on('click', function(e) {
alert('Button clicked');
cy.add({
group: "nodes",
data: { id: 'x' },
position: { x: 190 , y: 190 }
});
});
$('#show').on('click', function(e) {
$('.cyto_div').show();
$('cy').show();
});
});
</script>
</body>
</html>