数据地图悬停弹出

时间:2017-07-14 13:52:20

标签: javascript html css d3.js datamaps

我正在使用datamaps来显示世界各国,但图表居中。当我将鼠标悬停在某个国家/地区时,弹出窗口一直显示在左侧,如果我没有居中,则会准确显示该国家的位置。我相信问题是css:

#map {
    margin: 0px auto;
    width: 700px;
}

但我不知道如何以不同的方式集中它。

有没有办法改变弹出窗口的位置?提前谢谢!

enter image description here

(我尝试添加代码段,但出于某种原因出现了错误。)

2 个答案:

答案 0 :(得分:1)

hoverover弹出窗口通过datamaps-hoverover类附加到dom。默认情况下,d3设置此位置:absolute,顶部和左侧属性根据鼠标的位置动态设置。由于位置是绝对的,因此将地图置于中心并不重要。

例如,我添加了你的css(重命名id以匹配示例):

#container1 {
  margin: 0px auto;
  width: 700px;
}  

以数据地图使用的jsbin为例here

如您所见,即使地图居中,弹出窗口仍然在正确的位置。

答案 1 :(得分:1)

将位置更改为相对工作。正如Eric Hoose的例子所示,<div>是相对的,因此悬停仍然有效。

#map {
    margin: 0px auto;
    width: 700px;
    position: relative;
}