2012-11-02 43 views
2

我有一个折线图。当用户将鼠标移动到该行的某个点上时,我想显示一个圆圈(请参阅thisD3 ...得到一个圆形出现在鼠标悬停并消失鼠标

我不是使用nvd3,而是使用d3。我有:

svg.selectAll(".dot") 
     .data(data) 
     .enter().append("circle") 
     .attr("r", 1) 
     .attr("cx", function(d) { return x(d.number); }) 
     .attr("cy", function(d) { return y(d.people); }) 
     .style("fill", "white").style("stroke","black") 
     .style("display", "none") 
     .on('mouseover', function() { 
     d3.select(this).style("display","inline"); 
    }) 
     .on('mouseout', function() { 
     d3.select(this).style("display", "none"); 
     }); 

我最初设定的圆的显示为“无”,然后可见,当用户用鼠标悬停在。然后我们再将它们隐藏起来,当他们鼠标移出但是,当鼠标悬停时,圆圈不会出现。我究竟做错了什么?

回答

1

如果该圆圈设置为不显示任何内容,那么首先就没有什么可以抓住事件的。尝试使用另一个元素作为圈子的触发器。

+0

我试过显示:隐藏建议,甚至可见性:隐藏,但他们都没有工作。 –

+0

事实上,隐藏的显示是不正确的,隐藏的可视性是我想到的。对错误信息抱歉。如何将填充/描边设置为透明? – minikomi

+0

另外,半径1非常小,您可能会错过! – minikomi