如何使用 D3 树图中的节点使用 id 属性触发带有图像/媒体的鼠标悬停弹出窗口?

如何将鼠标悬停弹出窗口与 D3 (v7) 树图中的图像/媒体集成?是否可以使用 id 属性来控制单个节点的行为。我看过几篇有类似问题的帖子,但没有一个能完全回答我的问题......

CODEPEN 链接:https://codepen.io/explore_test/pen/LYyQvgq

目标:我想在我的 d3 树图中的某些节点的鼠标悬停时有一个弹出 div。此 div 将包含文本/图像/音频播放器的组合。

到目前为止的尝试:我尝试使用单独的 app.js 来触发鼠标悬停事件,就像我对标准 SVG 所做的那样,但这似乎在树中不起作用。我曾尝试使用 nodeEnter.selectAll("rect").attr("id",function (d,i) { return d.data.id; }); 为每个节点提供它自己的 ID,但我注意到我无法使用 CSS 和分配给节点的 id 控制所有行为,所以也许这就是问题所在?

我是 D3(以及一般的 JavaScript)的新手,所以请告诉我是否有更好的方法来实现这一点,即使它使用的是完全不同的库。

或者:有没有办法让侧边栏 div 在单击特定节点时显示模态内容?我猜这会依赖于相同的功能,但数据只是显示在不同的地方?

附带问题:我希望能够单独控制每个节点的样式。目前,我通过提取已添加到数据集中的 rgb 颜色等来执行此操作。是否有更简洁的方法来执行此操作,这意味着我可以直接通过 CSS 控制外观?

编辑:我已经在某种程度上使用示例 #practiceone 进行了此操作,但想知道我可以通过这种方式控制的内容是否存在限制?控制节点外观的最佳做法是什么?

预先感谢您提供的任何帮助!

heixiaoniao 回答:如何使用 D3 树图中的节点使用 id 属性触发带有图像/媒体的鼠标悬停弹出窗口?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/24726.html

大家都在问