javascript - D3.js 在鼠标悬停在栏上时更改标题文本

标签 javascript d3.js

我正在使用 D3 显示类似于此处示例的多个条形图(30 多个图表):http://phrogz.net/js/d3-playground/#MultiBars_HTML当用户将鼠标悬停在条形图上时,我只想更改用户正在与之交互的图表的标题,以及有关用户悬停在其上的值的信息。

所以如果我添加如下内容:

bars.on('mouseover', mouseoverfunc);

function mouseoverfunc(d, i) {
// update the title just for this chart..not all charts
a.select("h2").text(function (d) { return "hello"; });
}

所以知道鼠标悬停在 [d3.select(this)] 栏上,我如何选择父级以便我可以只更改一个图表的标题?这里有一个非常相似的例子:http://mbostock.github.com/protovis/ex/minnesota.html我试图在 D3 中复制

谢谢。

最佳答案

最简单的方法可能是为您的标题 div 分配一个属性,让您可以使用 select 语句找到它们,例如:

d3.select("[parentBarChartID="+d.id+"]")

在你的 mouseoverfunc 中。

或者,您可以使 DOM 元素分层,这样您就可以使用 this.parentNode.childNodes 遍历,遍历所有子节点,直到找到标题节点(参见如何遍历子节点 here

关于javascript - D3.js 在鼠标悬停在栏上时更改标题文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344631/

相关文章:

d3.js - 如何显示前n项的图表?

javascript - D3 - 在某些图层上禁用/重新启用鼠标悬停

javascript - 如何在 d3.js 中制作圆形图像

recursion - d3.js 中的转换队列;逐个

javascript - 如何在浏览器中调试内存泄漏、无限循环和执行 Javascript?

javascript - 没有可靠时间同步的基于时间戳的冲突解决

javascript - 将参数传递给 d3.svg.line var

javascript - 有没有办法在 Three.js 中有透明的视频背景?

下载文件的javascript按钮

javascript - getHours() 时间格式为 2016-04-29T19 :00:00