我想知道如何在Javascript中获得从div到窗口顶部的像素数(或者通常的测量值)。我不是在寻找相对于文档的偏移量y,只是在浏览器显示的顶部。我在这里尝试了“已回答”的解决方案:是否可以在浏览器视口中获取div的位置?不在文档中。在窗口中,但至少在Safari中,我遇到了一个问题,它返回相同的数字,而不管div真正在哪里
谢谢你的帮助
现有的答案现已过时。getBoundingClientRect()方法已经存在了很长一段时间,并且完全满足了这个问题的要求。此外,所有浏览器都支持它
从该MDN页面:
返回的值是一个TextRectangle对象,它包含描述边框框的只读左、上、右和下属性,以像素为单位,左上角相对于视口的左上角
你这样使用它:
var viewportOffset=el.getBoundingClientRect();
//这些是相对于视口的
var top=viewportOffset.top;
var left=viewportOffset.left;