如何在Javascript中获取当前屏幕视图中左上角的偏移量?
如何找到当前屏幕左上角的位置?例如,当我向下滚动html文档时,我需要计算相对于文档开头的鼠标位置。我想计算类似于如何在Javascript中获取当前屏幕视图中左上角的偏移量?,javascript,dom,Javascript,Dom,如何找到当前屏幕左上角的位置?例如,当我向下滚动html文档时,我需要计算相对于文档开头的鼠标位置。我想计算类似于mouseOffsetY=upperleftCorner.offset.y+event.clientY通过文档获取正文的滚动顶部。getElementsByTagName(“正文”)[0]。滚动顶部 因此,它将到来: mouseOffsetY =document.getElementsByTagName("BODY")[0].scrollTop+event.clientY; 这在F
mouseOffsetY=upperleftCorner.offset.y+event.clientY代码>通过文档获取正文的滚动顶部。getElementsByTagName(“正文”)[0]。滚动顶部代码>
因此,它将到来:
mouseOffsetY =document.getElementsByTagName("BODY")[0].scrollTop+event.clientY;
这在Firefox中不起作用:
console.log( $('body').get(0).scrollTop );
console.log( document.getElementsByTagName("body")[0].scrollTop );
因为Firefox会检查html[0]。scrollTop而不是正文
最后,使用起来更安全
window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
在Firefox48中运行良好
在Firefox中
console.log( window.pageYOffset );
console.log( document.documentElement.scrollTop );
console.log( $('html').get(0).scrollTop );
console.log( $('body').get(0).scrollTop );
console.log( document.getElementsByTagName("html")[0].scrollTop );
将打印例如:
446
446
446
0
446
谢谢我认为只有当滚动条出现时它才会起作用。但没关系,它似乎不起作用。我使用了console.log($('body').get(0.scrollTop)
或console.log(document.getElementsByTagName(“BODY”)[0].scrollTop)代码>当我点击页面下方的元素时。两个都是0。显示滚动条。