【问题标题】:Mouseover d3.js map with different layers具有不同图层的 Mouseover d3.js 地图
【发布时间】:2015-05-28 03:16:59
【问题描述】:

我用 3 个不同的管理级别制作了我的 TopoJSON。在鼠标悬停期间,我希望突出显示 2 级的对象。但是,由于分层,对象只能在其上方没有对象的情况下检测到鼠标事件(例如,从级别 3)。这是一个 javascript 问题,我可以简单地更改每个级别的 z-index(通过 CSS 或在脚本中)。我还尝试重新排序每个级别的调用。但是,我在某处读到 d3.js 有自己的对象处理方式,所以我提到的方法似乎不起作用。

如何确保我想要的对象保持在顶部?

【问题讨论】:

  • SVG 没有 z-index —— 对象按照它们添加到 DOM 树的顺序呈现。最后添加要显示在顶部的对象。
  • @LarsKotthoff 我尝试了一些组合,奇怪的是,我添加的第一个对象出现在顶部。
  • 如果你有异步回调,那么添加元素的顺序可能不是你想象的那样。如果您使用 g 元素对其他元素进行分组,情况也是如此。

标签: javascript css d3.js topojson


【解决方案1】:

出于某种原因,对我有用的是首先添加带有事件侦听器的对象。并确保对象的填充颜色存在(未设置为无)。

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多