我正在构建一个sankey图,就像这个https://bost.ocks.org/mike/sankey/一样,但是当用户将鼠标悬停在节点上时,我需要能够突出显示整个路径。
D3中有没有内置的东西?如果没有,我怎么能在Javascript中做到这一点?
答案 0 :(得分:1)
在发布的示例中,悬停效果是通过:hover
伪类的简单CSS规则完成的。
当突出显示整个路径时,这不再那么简单了。我看到两个选项。
mouseenter
和mouseleave
处理程序hightlight
类mouseleave
这个选项更加非常规。这个想法如下:
enter
选择创建Sankey的DOM元素时,在元素上为每个路径设置单独的类mouseenter
处理程序中,将当前选定的路径设置为class
- 如果是路径号13,则说hightlight-path-13
- 在边元素的父DOM元素上在CSS中有与此类似的选择器
.highlight-path-13 .path-13 { 中风不透明度:0.5; }