如何从顶部获取窗口位置(以像素为单位)

How to get window position from top in pixels

本文关键字:像素 为单位 位置 窗口 顶部 获取      更新时间:2023-09-26

身高是(例如)200%。有一个div。当您单击它时,浏览器应该会提醒您滚动了多少(如标题所示,以像素为单位从文档顶部的位置)。我尝试了两种变体,但没有一种:(

var doc = $(document)
var pos = doc.scrollTop();
$(".block").click(function() {
alert('Distance from top is ' + pos + ' pixels')
})

如果我使用 scrollTop ,它会提醒"...是 0 像素",即使我在文档的底部。

如果我使用 offset ,它会提醒"...是未定义的像素"。我该怎么办?

这是我在一个项目中实现的跨浏览器解决方案。忘记我在哪里找到它,否则我会记功!可能是在另一个 SO 问题上。

function getScrollTop(){
    if(typeof pageYOffset!= 'undefined'){
        //most browsers except IE before #9
        return pageYOffset;
    }
    else{
        var B= document.body; //IE 'quirks'
        var D= document.documentElement; //IE with doctype
        D= (D.clientHeight)? D: B;
        return D.scrollTop;
    }
}