经过几天的努力,我终于完成了第一个D3.js布局。感谢所有人的支持。
我在mouseout
事件处理中遇到了一个小问题。我在节点mouseover
上添加了动态工具提示,但是在mouseout
上它有时挂起。它并非总是会发生,但是有时&当我再次mouseover
和mouseout
时,它会按预期消失。
这是代码段:
link.on("mouseover.2", function(d) {
link_tooltip.transition()
.duration(200)
.style("opacity", .9)
.style("visibility", "visible");
link_tooltip.html(d.tooltip)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout.2", function() {
return link_tooltip.style("visibility", "hidden");
})
.on("mousemove", function() {
return link_tooltip.style("top", (d3.event.pageY - 10) + "px").style("left", (d3.event.pageX + 10) + "px");
});
node.on("mouseover.2", function(d) {
node_tooltip.transition()
.duration(200)
.style("opacity", .9)
.style("visibility", "visible");
node_tooltip.html(d.tooltip)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout.2", function() {
return node_tooltip.style("visibility", "hidden");
})
.on("mousemove", function() {
return node_tooltip.style("top", (d3.event.pageY - 10) + "px").style("left", (d3.event.pageX + 10) + "px");
});
这是完整的代码:d3_with_tooltip.js