在D3.js中将HTML表格放入工具提示中
Putting HTML Table into ToolTip in D3.js
我创建了一个共现矩阵,当被占用的单元格悬停在上面时,它会创建一个工具提示。代码如下:
div.tooltip {
position: absolute;
text-align: left;
width: 500px;
color:white;
padding: 8px;
font: 13px sans-serif;
background: black;
border: solid 1px #aaa;
pointer-events: none;
}
var div = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0);
function mousemove(d) {
div
.html("Tooltip is here")
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY) + "px")
}
function mouseover(p) {
div.transition()
.duration(300)
.style("opacity", 1);
d3.selectAll(".row text").classed("active", function(d, i) { return i == p.y; });
d3.selectAll(".column text").classed("active", function(d, i) { return i == p.x; });
}
function mouseout() {
div.transition()
.duration(300)
.style("opacity", 1e-6);
d3.selectAll("text").classed("active", false);
}
然后元素调用mousemove、mouseover和mouseout函数。这一切都很好,工具提示显示完美。我现在想做的是当我将鼠标悬停在一个条目上时生成一个表,并将该表放在工具提示中。我现在拥有的代码正确地生成了表格,但它没有将其放入工具提示中,而是在矩阵上方或下方生成了表格。我使用这个函数来生成表:
function tabulate(data, columns) {
var table = d3.select("body").append("table"),
thead = table.append("thead"),
tbody = table.append("tbody");
// append the header row
thead.append("tr")
.selectAll("th")
.data(columns)
.enter()
.append("th")
.text(function(column) { return column; });
// create a row for each object in the data
var rows = tbody.selectAll("tr")
.data(data)
.enter()
.append("tr");
// create a cell in each row for each column
var cells = rows.selectAll("td")
.data(function(row) {
return columns.map(function(column) {
return {column: column, value: row[column]};
});
})
.enter()
.append("td")
.text(function(d) { return d.value; });
return table;
}
有没有人能给我一些帮助,我如何能得到表内生成的工具提示?
目前,
var table = d3.select("body").append("table")
选择页面的整个主体并追加一个表格元素,使表格出现在页面的底部。
做一个小小的改变,
var table = div.append("table")
将获取工具提示元素并附加表格,以便它出现在工具提示中。(给工具提示命名一些比"div"更具描述性的东西可能是一个好主意)
当鼠标移到不同的元素上时,工具提示也需要更新它们的内容;但我觉得你不是想这么做吧?
相关文章:
- d3.js Chord图的动态工具提示
- Graphiti中是否有任何工具提示功能
- "工具提示"jQuery插件坏了
- 单元格的工具提示或标题不显示超过2000个字符
- d3.js用按钮更新条形图工具提示
- 如何使用单击属性和工具提示动态创建表格单元格,该工具提示将超链接到页面
- 将 dojo 工具提示对话框添加到每个表格单元格
- 表格的不同单元格上的工具提示
- 样式标题工具提示在表格中不起作用
- 如何使用Java Jsp在电子表格中创建工具提示
- 使用amCharts在工具提示上可视化表格
- 当鼠标悬停在表格标题上时,工具提示宽度将被隐藏
- 隐藏在按钮和表格下方的工具提示说明
- 在内容较大的表格单元格中引导工具提示偏离中心
- 在D3.js中将HTML表格放入工具提示中
- 如何使用甘特-工具提示属性在角表格中显示用户输入格式的日期
- ExtJS 5:电子表格拖动选择显示单元格工具提示
- 工具提示图像在细胞悬停,谷歌电子表格
- JS工具提示在表格单元格中的位置
- 工具提示在表格单元格中不起作用