纯 Javascript 中的元素坐标

2023-11-21

假设我在 div 中有一个元素(或任何其他包含元素,或者可能只是在文档正文中)。如何获取该元素相对于其容器的 (x,y) 坐标?

我需要能够用纯 Javascript 来完成它......


The offsetTop and offsetLeft属性是相对于offsetParent因此您可以免费获取元素相对于其父元素的位置。如果你想要相对于整个的位置body那么你需要遍历offsetParent将值链起来并求和。

下面的函数可以完成这个任务:

function findPos(obj) {
    var curleft = 0, curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return { x: curleft, y: curtop };
    }
    return undefined;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纯 Javascript 中的元素坐标 的相关文章

随机推荐

  • MATLAB - FFT 缺少基础[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我目前正在从事我的第四年项目 计算机科学 其中涉及音乐 gt 乐谱的自动转录 我目前正在 Matlab 中进行 但在某个阶段必须转换为 java 我的问题 我的程序返回纯正弦音的
  • 选择区域 OpenCV

    我是 OpenCV 新手 我想选择视频 图像中的特定区域进行检测 就我而言 我想检测仅在路上而不是在停车场的汽车 嗯 选择汽车需要使用训练数据 但选择 ROI 感兴趣区域 相当简单 考虑img cv2 imread image 在这种情况下
  • 如何使用“--multi-dex”选项?

    2013 11 13 18 39 09 XlApp Dx trouble writing output Too many method references 66024 max is 65536 You may try using mult
  • 当需要 Node.js 中的模块时,“点斜杠”(./) 是否是必需的?

    我正在学习 Node js 并使用 Visual Studio 2015 Node JS 扩展编写一个简单的模块 I know 意思是 在同一目录中查找文件 但在我见过的大多数系统中 比如说 include在 C 中 转发 是可选的 我尝试
  • javax.net.ssl.SSLException:收到致命警报:bad_record_mac

    我得到了一个javax net ssl SSLException Received fatal alert bad record mac用于 HTTPS 连接 并非每个请求都会发生这种情况 如果我发送相同的请求 10 次 我只会收到一两次此
  • 具有自定义浮点格式的 pprint

    我有一个带有元组键的嵌套字典结构 当我使用 pprint 漂亮地打印字典时 条目如下所示 A B C 0 14285714285714285 D 0 14285714285714285 E 0 14285714285714285 F 0 1
  • 指定的 JDK 版本为“2724.0.0.0.0”,最大值为“500.0.0.0.0”

    在安装 Netbeans IDE 最新版本时 我遇到了错误 指定的 JDK 版本为 2724 0 0 0 0 而最大值为 500 0 0 0 0 不确定是什么导致了这个问题 类路径 Java Home 都已正确设置 甚至jdk路径在Netb
  • java.io.StreamCorruptedException:无效的流标头:75720002

    我正在创建一个服务器客户端应用程序 其中服务器将 pdf 文件发送到所有连接的客户端 问题是我收到此错误 我寻找解决方案但找不到任何解决方案 这是错误 java io StreamCorruptedException invalid str
  • Eclipse 中缺少“maven package”菜单项

    我正在使用 Eclipse 3 7 和 m2eclipse 以前我知道有一个菜单条目 maven package 但由于我重新安装了 Ubuntu 所以没有条目 我必须 maven install 才能执行相同的操作 现在我想知道是否可以找
  • uniqid有多独特?

    这个问题其实并不是一个寻求解决方案的问题 而更多的是一个简单的好奇心问题 PHP uniqid 函数有一个更多的熵标志 使输出 更独特 这让我想知道 当 more entropy 为真时和不为真时 该函数多次产生相同结果的可能性有多大 换句
  • Java 类中的 Scala getter 和 setter

    我想创建一个遵循 Scala setter getters 约定的 Java 类 我尝试遵循简单的课程 但它不起作用 public class JavaA private int a 0 public int a return a publ
  • 在 Delphi 2009 中显示 PDF 文件的最佳方式是什么 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我应该使用什么组件在 Delphi 2009 应用程序中显示 PDF 文件 EDIT 我一直在使用PDF阅读器by Synactis 一个非常好的免
  • 我是否正确使用了 Java 7 try-with-resources

    我期望缓冲读取器和文件读取器关闭 并在抛出异常时释放资源 public static Object fromFile String filePath throws FileNotFoundException IOException try
  • 删除 Google App Engine 别名应用程序?

    我最近将 App Engine 应用程序从主 从数据存储迁移到高复制数据存储 这创建了两个应用程序 使用示例应用程序名称 myapp myapp hd myapp appspot com 是 myapp hd appspot com 的别名
  • 如何在 ColdFusion 中的 cfloop 查询中获取动态属性名称

    我在一个cfloop通过查询 我想获取一个属性 但直到运行时我才知道该属性是什么 使用 qryResult MyAttr 失败并显示错误 复杂对象类型无法转换为简单值 执行此操作的语法是什么 这是一个简化的示例
  • 包含有关存储过程参数信息的 SQL Server 系统表是什么?

    包含有关存储过程参数的信息 例如数据类型 名称 长度 是否为空 的 SQL Server 系统表是什么 thanks 您可以查询 sys procedures 和 sys parameters select pr name p from s
  • JQuery event.stopPropagation() 不起作用

    在我的 html 中 我在 li 中嵌入了一个 DragHandle 类的跨度 div class treeView ul class tree li span class dragHandle span Item 1 ul li span
  • 打印 html 页面时的边距

    我使用单独的样式表进行打印 是否可以在设置打印边距的样式表中设置左右边距 即纸张上的边距 你应该使用cm or mm当您指定打印时作为单位 使用像素将导致浏览器将其转换为类似于屏幕上显示的内容 使用cm or mm将确保纸张上的尺寸一致 b
  • python 中的并行性无法正常工作

    我正在使用 python 2 7 在 gae 上开发一个应用程序 一个 ajax 调用从 API 请求一些数据 单个请求可能需要约 200 毫秒 但是当我打开两个浏览器并在非常接近的时间发出两个请求时 它们花费的时间比双倍的 我尝试将所有内
  • 纯 Javascript 中的元素坐标

    假设我在 div 中有一个元素 或任何其他包含元素 或者可能只是在文档正文中 如何获取该元素相对于其容器的 x y 坐标 我需要能够用纯 Javascript 来完成它 The offsetTop and offsetLeft属性是相对于o