JavaScript 查找内联元素的 X,Y 以在其旁边设置弹出框

标签 javascript location inline

我的表中记录很少,当用户将鼠标悬停在某个记录上时,我需要显示一个弹出框。

我已经创建了弹出框并在那里设置了消息。唯一剩下的就是设置该框的坐标 ( <div id="popup"></div> ),使其位于触发该框的元素旁边。

所以我得到了this我将鼠标悬停在标签上。现在我怎样才能获得它在窗口上的位置?

我试过this.offsetLeft这是相对于 parent 的。该元素是内联的,所以我不知道如何找到它。

我使用纯 JavaScript,请不要建议使用 jQuery,因为我不想在这个项目中使用它。

最佳答案

var box = this.getBoundingClientRect();

alert( "y:" + box.top + "x:"+ box.left );​

http://jsfiddle.net/hNShL/

考虑滚动:

var body = document.body,
    html = document.documentElement,
    scrollTop = window.pageYOffset || html.scrollTop || body.scrollTop || 0,
    scrollLeft = window.pageXOffset || html.scrollLeft || body.scrollLeft || 0,

    box = this.getBoundingClientRect(),

    top = box.top + scrollTop,
    left = box.left + scrollLeft;

alert( "y:" + top + "x:"+ left );​

关于JavaScript 查找内联元素的 X,Y 以在其旁边设置弹出框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854352/

相关文章:

c++ - 内联函数是如何编译成汇编的?

c# - 如何使用 C# 代码获取 javascript 日期格式

android - Android 中的 GMSGeometryLength

javascript - 如何在 PHP 中启用 ZipArchive?

c# - 可执行位置不同

android - 如何降级 Android SDK 中的 Google Play 服务库?

javascript - DIV标签显示: inlineblock;

css - float 旁边的内联元素

javascript - 使用图像的高度更改不透明度级别

javascript - 如何将来自 Smart admin 的注销警报弹出窗口也用于其他请求?