如何在Javascript中获取当前屏幕视图中左上角的偏移量

How to get offset of upper left corner in current screen view in Javascript?

本文关键字:视图 屏幕 左上角 偏移量 Javascript 获取      更新时间:2023-09-26

如何找到当前屏幕左上角的位置?例如,当我向下滚动html文档时,我需要用鼠标相对于文档开头的位置进行计算。我想计算一些类似mouseOffsetY = upperleftCorner.offset.y + event.clientY; 的东西

通过document.getElementsByTagName("BODY")[0].scrollTop; 获取滚动体顶部

所以它会来:

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 

在Firefox 48中运行良好。

在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