javascript - 检测 HTML 元素从顶部到左侧的距离?

标签 javascript html canvas

我在 HTML5 文档中有一个标签。

如何使用 JavaScript 检测从 HTML 页面左上角到 canvas 标签左上角的距离?

我需要能够相对于 Canvas 定位动态生成的 html 标签。

最佳答案

getBoundingClientRect() 是您的好 helper ,所有浏览器的最新版本(Firefox 3、Safari 4、Chrome、Opera 9.5、IE 5)都支持它。但是,它会为您提供相对于视口(viewport)而不是页面的坐标,因此您需要添加文档的滚动量:

function getPageTopLeft(el) {
    var rect = el.getBoundingClientRect();
    var docEl = document.documentElement;
    return {
        left: rect.left + (window.pageXOffset || docEl.scrollLeft || 0),
        top: rect.top + (window.pageYOffset || docEl.scrollTop || 0)
    };
}

关于javascript - 检测 HTML 元素从顶部到左侧的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610974/

相关文章:

html - 为什么 Gmail 会忽略我的媒体查询? (在 iOS 上)

javascript - 谷歌地图地理编码 API 不返回纬度和经度

JavaScript:为什么 boolean 值的按位或返回数字而不是 boolean 值?

html - 聊天对话的跳点

html css float 不环绕图像顶部,

android - Flutter - 如何使用 DrawImage 方法在 Canvas 上绘制图像

canvas - HTML Canvas - 使用鼠标滚轮精确地在鼠标指针上放大和缩小 - 检查 codepen 示例

html - 摆脱 <canvas> 元素周围的填充/边距?

javascript - 使用 ref 以编程方式触发单击事件?

javascript - 折线图功能从不同列中提取数据