javascript - 如何在 d3 力定向布局节点上显示工具提示?

标签 javascript html d3.js tooltip data-visualization

我已经使用层次结构数据构建了一个示例 d3 可视化,效果非常好。当用户将鼠标移过节点时,我需要显示绑定(bind)到该图标/节点的数据。我也这么做过,效果很好。

我需要根据工具提示上的节点显示数据。我不想为其绑定(bind) html 元素。

这是我的代码

HTML:

  <div id="chart"></div>

JS:

 node = vis.selectAll(".node");
        node = node.data(force.nodes());
        node.exit().remove();
        node.enter().append("g")
            .attr("class", "node")
            .on("click", click).on("mouseover", function(){return tooltip.style("visibility", "visible") 
                 tooltip.text
                 ;})
.on("mousemove", function(){return tooltip.style("top",
    (d3.event.pageY - 130)+"px").style("left",(d3.event.pageX - 130 )+"px");})
.on("mouseout", function(){return tooltip.style("visibility", "hidden");});

APPLICATION ON FIDDLE

最佳答案

要将类添加到工具提示,请执行以下操作:

var tooltip = d3.select("#chart")
        .append("div")
        .attr("class", "my-tooltip")//add the tooltip class
        .style("position", "absolute")
        .style("z-index", "10")
        .style("visibility", "hidden");
    tooltip.append("div")
        .attr("id", "tt-name")
        .text("simple");
    tooltip.append("div")
        .attr("id", "tt-size")
        .text("simple");

要在鼠标悬停时添加值和大小,请执行以下操作:

tooltip.select("#tt-name").text(d.name)
tooltip.select("#tt-size").text(d.size)

更新后的代码是 here :

关于javascript - 如何在 d3 力定向布局节点上显示工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32536623/

相关文章:

html - 使一个 div 可点击但有另一个 div 出现在它上面

html - 电子邮件客户端 CSS float 的替代方案

javascript - d3.js 箭头定向图 : adding nodes/links on the fly

javascript - 获取通过其链接连接的所有节点

javascript - 使用 animate() 的 javascript/jQuery 重写 !important

javascript - 如何检查元素是特定元素的子元素?

javascript - 测试对象是否存在 JavaScript

javascript - TypeScript 中的部分环境内部模块声明?

javascript - 如何将自定义滚动条应用到 Google map 信息窗口

javascript - getElementById(element).innerHTML 缓存?