html中怎么找到隐藏的节点,单击D3 Javascript中的节点时如何显示和隐藏链接和节点...

我正在尝试按照这个D3

Javascript链接:>

http://bl.ocks.org/mbostock/1093130了解click事件的工作原理.不幸的是,我无法完全理解整个代码.我现在要做的是点击蓝色节点时,将显示另外两个节点及其链接.当我再次单击同一节点时,两个节点及其链接必须隐藏.如果我点击其他两个节点中的一个节点,则不会发生任何事情.

这是JSON文件:

{

"nodes": [

{

"name": "Node1",

"group": 2

},

{

"name": "Node2",

"group": 1

},

{

"name": "Node3",

"group": 1

}

],

"links": [

{

"source": 0,

"target": 1,

"value": 2

},

{

"source": 0,

"target": 2,

"value": 2

}

]

}

这是我的代码:

.node {

stroke: #fff;

stroke-width: 1.5px;

}

.link {

stroke: #999;

stroke-opacity: .6;

}

Are you there!!!

var width = 960,

height = 500;

d3.json("sample.json", function(error, graph) {

var color = d3.scale.category20();

var force = d3.layout.force()

.charge(-120)

.linkDistance(30)

.size([width, height]);

var svg = d3.select("body").append("svg")

.attr("width", width)

.attr("height", height)

force

.nodes(graph.nodes)

.links(graph.links)

.start();

var link = svg.selectAll(".link")

.data(graph.links)

.enter().append("line")

.attr("class", "link")

.style("stroke-width", function(d) { return Math.sqrt(d.value); });

var node = svg.selectAll(".node")

.data(graph.nodes)

.enter().append("circle")

.attr("class", "node")

.attr("r", 5)

.style("fill", function(d) { return color(d.group); })

.call(force.drag);

node.append("title")

.text(function(d) { return d.name; });

force.on("tick", function() {

link.attr("x1", function(d) { return d.source.x; })

.attr("y1", function(d) { return d.source.y; })

.attr("x2", function(d) { return d.target.x; })

.attr("y2", function(d) { return d.target.y; });

node.attr("cx", function(d) { return d.x; })

.attr("cy", function(d) { return d.y; });

});

});

请有人帮我解决这个问题.非常感谢您的协助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值