D3.js将鼠标悬停在栏上时更改标题文本
D3.js change title text when mouseover a bar
我正在使用 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)],我如何选择父级以便我可以只更改一个图表的标题? 这里有一个非常相似的例子:我试图在 D3 中复制 http://mbostock.github.com/protovis/ex/minnesota.html
谢谢。
最简单的方法可能是为标题div 分配一个属性,让你使用 select 语句找到它们,如下所示:
d3.select("[parentBarChartID="+d.id+"]")
在你的mouseoverfunc
.
或者,你可以使你的 DOM 元素分层,以便你可以使用 this.parentNode.childNode 遍历所有子节点,遍历所有子节点,直到找到标题节点(请参阅如何遍历子节点。
我相信
下面的两个例子应该向您展示如何单独选择任何柱线并触发选择任何特定项目的回调......
- "多个 D3 水平条形图与 HTML 布局结构混合在一起"
- "多个 D3 垂直条形图与 HTML 布局结构混合在一起"
您会在回调函数"syncdMouseOver"和"syncdMouseOut"中注意到,它们触发了SVG画布上多个对象的更改...单个条形图、图例项目符号和图例文本字符串。 您将使用相同的方法来更改图表标题。
我希望这有所帮助。
弗兰克
相关文章:
- HighCharts长标题文本在某些元素上重叠
- 使用JavaScript将标题文本替换为按钮文本
- 更改标题文本
- 更改标题文本
- 在具有行标题和列标题的表中,给定列标题文本和单元格文本,如何选择单元格(td)
- Javascript 打开一个新窗口并更改标题文本
- 在WordPress中使用标题文本设置花哨的框标题
- 如何将剑道网格标题文本保持在顶部
- jquery 数据表排序 表标题中的单击事件不在列标题文本中
- D3.js将鼠标悬停在栏上时更改标题文本
- 如何防止数据表更新列标题文本
- 替换jQuery单击事件上的标题文本
- 使用javascript将slug变量转换为标题文本
- Contentflow-如何使标题文本动态调整大小
- ExtJS 4.2-网格列标题文本应该在第一次加载时完全可见
- 如何使用html5画布创建垂直表格标题文本
- 使用标题文本向多个标题添加类
- 如何使用jquery替换/更改标题文本在
- 使用JavaScript获取GridView的列名或标题文本
- highcharts.js中y轴标题文本的格式函数