Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中获取当前屏幕视图中左上角的偏移量?_Javascript_Dom - Fatal编程技术网

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

如何在Javascript中获取当前屏幕视图中左上角的偏移量?,javascript,dom,Javascript,Dom,如何找到当前屏幕左上角的位置?例如,当我向下滚动html文档时,我需要计算相对于文档开头的鼠标位置。我想计算类似于mouseOffsetY=upperleftCorner.offset.y+event.clientY通过文档获取正文的滚动顶部。getElementsByTagName(“正文”)[0]。滚动顶部 因此,它将到来: mouseOffsetY =document.getElementsByTagName("BODY")[0].scrollTop+event.clientY; 这在F

如何找到当前屏幕左上角的位置?例如,当我向下滚动html文档时,我需要计算相对于文档开头的鼠标位置。我想计算类似于
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。显示滚动条。