javascript - 将鼠标悬停在其他元素下方

标签 javascript jquery css

我有一种情况,我想通过工具提示提供一些上下文帮助...但是,我拥有的元素有时位于绝对定位元素的下方。

虽然我意识到这可能是不可能的,但我在想是否可以查询顶层元素下面的元素?

我只是不确定这将如何完成。我不介意使用 css 或 javascript,但在正确方向上的任何帮助将不胜感激。

请查看下方栏上方的绝对定位 div(带有红色涂鸦的灰色框)的图像。

请注意,绿色条是相对位置的,而各个条也是绝对定位的。

Absolute Div

最佳答案

您必须检查每个子 div 中是否有鼠标点击;这是一个 fiddle https://jsfiddle.net/6rx18d56/1 . HitTest :

function inside(a, x, y) {
  var l = a.offset().left;
  var t = a.offset().top;
  var r = l + a.outerWidth(true);
  var b = t + a.outerHeight(true);

  return l <= x && x <= r && 
         t <= y && y <= b;
}

编辑:

是的,大声笑,我知道那会来。查看https://jsfiddle.net/6rx18d56/2/ .我使它更通用一些,希望您的图表中有一些 ID 和类名称的基本原理。不管怎样, HitTest 是一样的,我们只是用 jQuery 遍历元素,跟踪原始覆盖以及是否已经发生命中:

$(".foo").on("mousemove", function(e) {
  var hit = false;
  var self = $(this);

  $(".x, .y").each(function(ignore, d) {
    if (!hit) {
      if (inside($(d), e.pageX, e.pageY)) {
        self.attr("title", $(d).attr("title"));
        hit = true;
      }
      else {
        self.attr("title", "");
      }
    }
  });
});

关于javascript - 将鼠标悬停在其他元素下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38515681/

相关文章:

javascript - 不用 PHP 从不同的网站获取 RSS 数据

html - webkit滚动条自定义垂直高度

html - -moz-border-radius 导致在 IE8 中生成内联样式

javascript - 在 Modernizer/yepnope.js 加载中使用 Drupal.settings.basePath

javascript - 如何在 JavaScript 中访问 Angularjs $scope?

javascript - 如何在 jQgrid 中对行进行排序后获取新的行顺序?

javascript - 如何像 mysql 一样从 jQuery 中的 json 或数组数据搜索名称

javascript - 如何根据 child 在 DOM 树中的位置选择 child

javascript - 平滑滚动一点也不平滑; smooth scroll 只滚动一定数量的像素而不是指定的 div

html - 使图像 slider 全 Angular 响应