Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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_Firefox_Dom - Fatal编程技术网

Javascript:如何计算视口的精确位置?

Javascript:如何计算视口的精确位置?,javascript,firefox,dom,Javascript,Firefox,Dom,我的问题是需要获得视口相对于整个文档范围的位置。我只关心Firefox 我的问题是,我读到的所有内容都表明: viewport height is window.innerHeight scroll position is window.pageYOffset document total height is document.height 因此,我希望如果我滚动到页面底部 window.innerHeight + window.pageYOffset == document.height

我的问题是需要获得视口相对于整个文档范围的位置。我只关心Firefox

我的问题是,我读到的所有内容都表明:

viewport height is window.innerHeight
scroll position is window.pageYOffset
document total height is document.height
因此,我希望如果我滚动到页面底部

window.innerHeight + window.pageYOffset == document.height

但事实并非如此!有人能给我解释一下这是为什么吗?

当一直滚动到底部时,这会返回真值

window.innerHeight + window.pageYOffset == document.documentElement.scrollHeight

Document.height可能会产生误导,因为它有时在CSS中被设置为100%,这会把它搞砸。

一些进一步的调查表明,在某些情况下,这确实有效。当身体高度明确设置为100%时,它似乎会中断;维基百科上的页面就是这样。在这些情况下,我检查的所有文档总高度方法都只返回视口高度。Firefox必须将值设置为视口的100%。任何在任何情况下都能访问文档实际高度的巧妙技巧都将不胜感激。不确定这是否有帮助,但您可以使用
document.documentElement.scrollTop
在Firefox中获得页面的滚动量。