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

标签 javascript jquery css

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

var doc = $(document)
var pos = doc.scrollTop();

$(".block").click(function() {
alert('Distance from top is ' + pos + ' pixels')
})

如果我使用 scrollTop,即使我位于文档底部,它也会提醒“...为 0 像素”。

如果我使用offset,它会警告“...是未定义的像素”。 我该怎么办?

最佳答案

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

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;
    }
}

关于javascript - 如何从顶部获取窗口位置(以像素为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19977978/

相关文章:

javascript - 在 DOM 元素上创建 Angular 范围

css - 如何绝对容器内的元素溢出 :hidden not be cropped

php - jQuery Ajax 一旦没有更多结果

javascript - 错误: cannot read property 'setState' on fetch method

javascript - 我正在尝试应用过滤器 :brightness in JavaScript to a bunch of image elements

javascript - 从中心向外辐射显示图像,而不是按行从左上角显示图像

css - 替代宽度 : max-content that supports max-width: 100%

javascript - 在 Javascript 中从字符串开头分离数字整数、小数和/或分数

jquery - 内容为空时如何隐藏链接?

javascript - 如何实现滚动到固定效果?