如何在 Javascript 中获取对象在页面上的绝对位置? [复制]

2023-11-24

我想在 Javascript 中获取页面上对象的绝对 x,y 位置。我怎样才能做到这一点?

I tried obj.offsetTop and obj.offsetLeft,但这些仅给出相对于父元素的位置。我想我可以循环并添加父级的偏移量及其父级的偏移量,依此类推,直到到达没有父级的对象,但似乎应该有更好的方法。谷歌搜索并没有找到太多结果,甚至网站搜索也没有找到任何东西。

另外,我无法使用 jQuery。


var cumulativeOffset = function(element) {
    var top = 0, left = 0;
    do {
        top += element.offsetTop  || 0;
        left += element.offsetLeft || 0;
        element = element.offsetParent;
    } while(element);

    return {
        top: top,
        left: left
    };
};

(无耻地窃取PrototypeJS的方法;更改代码风格、变量名和返回值以保护无辜者)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Javascript 中获取对象在页面上的绝对位置? [复制] 的相关文章

随机推荐

  • “RepeatedCompositeContainer”类型的对象不可 JSON 序列化

    使用 Google Client Library 与视觉库交互 我有一个从图像中检测标签的功能 GoogleVision py import os from google cloud import vision from google cl
  • HTML Canvas - 绘制弯曲箭头

    我正在尝试在 html 画布中绘制弯曲的箭头 我画一条曲线没有问题 但我不知道如何放置 gt 在线的末端 方向 ctx beginPath ctx fillStyle rgba 55 217 56 opacity ctx moveTo th
  • 是什么触发了此异常实例:“java.lang.IllegalArgumentException:观察者为空。”如何避免呢?

    返回原始版本时出现此异常ListActivity使用用户选择的项目的内容打开新活动后 它只出现在冰淇淋三明治上 这是痕迹 java lang IllegalArgumentException The observer is null at
  • 如何从 String 中获取 Date 对象

    DateFormat formatter new SimpleDateFormat MM dd yyyy HH mm ss Date d Date formatter parse dateTime System out println da
  • C++ 将字符串转换为十六进制[重复]

    这个问题在这里已经有答案了 可能的重复 C 将十六进制字符串转换为有符号整数 我已经在谷歌上搜索过 但没有找到任何帮助 所以这是我的问题 我有已经包含十六进制代码的字符串 例如 string s1 5f0066 我想将此字符串转换为十六进制
  • Tablesorter zebra 在排序之前不会条纹

    我有我的桌子 它们很棒 我可以对它们进行排序 而且效果非常好 只是在我第一次对它们进行排序之前 它们不会进行斑马条纹 我的理解是 一旦表排序器初始化 它们就会被条带化 不是这样吗 这是来自此处的 tablesorter v 2 10 最新版
  • Graphics.MeasureCharacterRanges 给出错误的尺寸计算

    我正在尝试将一些文本渲染到 Web 表单应用程序中图像的特定部分 文本将由用户输入 因此我想改变字体大小以确保它适合边界框 我的代码在概念验证实现上做得很好 但我现在正在针对设计器的资产进行尝试 这些资产更大 并且我得到了一些奇怪的结果 我
  • Edittext 行号和当前行光标位置。

    现在我正在开发一个 Android 应用程序 我创建了一个具有功能的自定义键盘 我正在使用 edittext 来显示输入的文本 编辑文本可能有 n 行 现在我的问题是我的键盘上有一个向上按钮 所以如果我单击向上按钮 那么我必须转到前几行的相
  • Flask-SQLAlchemy:SQLALCHEMY_ENGINE_OPTIONS 设置不正确

    我刚刚将我的项目 Flask SQLAlchemy 版本更新到最新版本 v2 4 由于某些 SQL Alchemy 配置参数已被弃用 我现在遵循文档并将 SQLALCHEMY ENGINE OPTIONS 作为字典添加到我的配置类中 但是
  • git 如何跨提交树将 blob 与文件进行匹配?

    Git 书的第 3 1 章明确指出只有暂存文件才能作为 blob 存储在提交树中 如果像提交对象一样 Blob 获得对其内容唯一的哈希 ID 那么 Git 如何管理跨提交跟踪 Blob 和文件之间的对应关系 不同提交中相同文件 blob 的
  • 编写“fib”并行运行:-N2 更慢?

    我正在学习 Haskell 并尝试编写并行执行的代码 但 Haskell 总是按顺序运行它 当我执行时 N2运行时标志 与省略此标志相比 执行需要更多时间 这是代码 import Control Parallel import Contro
  • 在本地计算机上创建 Sql Server 备份

    我正在使用在本地计算机上运行的 SQL Server Management Studio 我可以登录到远程盒子 数据库引擎 并使用 Studio 创建数据库备份 并将其保存到远程设备上的驱动器中 如何将备份保存到本地计算机上的驱动器上 Se
  • 如何在 PHP 中将两个字符串组合在一起?

    我实际上不知道如何描述我想要的 但我会告诉你 例如 data1 the color is data2 red 我应该做什么 或处理 所以 result 是以下组合 data1 and data2 期望的结果 result the color
  • Rails 5 - Turbolinks 5,一些 JS 未在页面渲染上加载

    我有一个 Rails 应用程序 最近更新为5 0 0 RC1 大部分过渡都很顺利 但我在使用新的 Turbolinks 时遇到了一些麻烦 例如 在我的应用程序中 我使用这个 gem gem chosen rails My applicati
  • 审计日志策略

    我正在尝试确定应用程序中审计日志记录的最佳方法 日志的主要原因是报告事件 更改 的顺序 我有一个对象层次结构 当该层次结构的任何部分发生变化时 我需要在稍后的日期创建报告 我认为我有三个选择 每个表都有一个日志 因此匹配对象的层次结构 然后
  • 为什么我们需要 Java 中的接口?

    在Java中 我们使用接口来实现多重继承 这是接口的唯一用途吗 如果是的话 Java中接口的主要用途是什么 为什么我们需要 Java 中的接口 我想说主要用途是多态性 或者对多个不同对象执行相同操作的能力 例如 如果不同的对象都实现相同的接
  • 如何知道字符串的大小(以字节为单位)?

    我想知道我是否可以知道一个字节有多长string在C 中 有人知道吗 您可以使用 ASCII 等编码来获取每个字节的字符System Text Encoding class 或者试试这个 System Text ASCIIEncoding
  • 使用 ggplot 绘制 SpatialPolygonDataFrame

    我有一个大伦敦地区的形状文件 我用readShapePoly函数从maptools包将其加载到 R 中作为SpatialPolygonDataFrame 我想绘制这些多边形 我已经通过使用基本功能完成了plotR 中的函数 输出如下图所示
  • VS2005 Winforms Designer异常屏幕和IE8

    自从我安装了 Internet Explorer V8 以来 我的 Winforms Designer 异常屏幕 WSOD 似乎已损坏 之前我会得到带有描述的错误的红色文本 今天我得到这个 WSOD 损坏 http faxt com ima
  • 如何在 Javascript 中获取对象在页面上的绝对位置? [复制]

    这个问题在这里已经有答案了 我想在 Javascript 中获取页面上对象的绝对 x y 位置 我怎样才能做到这一点 I tried obj offsetTop and obj offsetLeft 但这些仅给出相对于父元素的位置 我想我可