0

这是我的第一篇文章,希望有人可以帮助我解决这个问题......

您可以在 jsfiddle 示例中看到的内容是使用我正在使用的工具制作的。所有节点和边(链接)的定义都是由我们的工具生成的(“VAR STATES = ..”和“g.setEdge”等)(工具提示在这里不起作用,请忽略)

在选择“allnodes”(鼠标悬停)中,我只能选择当前节点(d3.select(this),但不能选择在SELECTIT中称为名称的对象)

我想要达到的目标:

1.)像这里的“鼠标悬停”效果:http ://cs.brown.edu/people/jcmace/d3/graph.html?id=small.json

我可以在“鼠标悬停”方法中选择影响节点名称:

    var selectit = g.neighbors(d); 

-> dagrejs/graphlib 的 API 文档在这里找到:https ://github.com/dagrejs/graphlib/wiki/API-Reference

2.) 选择链接时的“鼠标悬停”效果(包括父节点和子节点)

jsfiddle:https ://jsfiddle.net/kraab/n9mgo74j/32/

提前致谢!

4

1 回答 1

2

我自己找到了一个解决方案,jsfiddle更新了。使用该.each方法,您可以遍历所有选定的元素,如果在d邻居数组中找到实际元素,则selectit您知道您现在位于正确的对象上,并且 d3.select(this)可以更改实际对象。您悬停的实际对象已保存到elemtosearch并且也需要更改...

https://jsfiddle.net/n9mgo74j/37/

于 2018-09-28T11:16:17.420 回答