Javascript 为什么滚动位置与浏览器/窗口模式不同

Javascript 为什么滚动位置与浏览器/窗口模式不同,javascript,jquery,scroll,position,Javascript,Jquery,Scroll,Position,我正在使用下面的脚本查看滚动条的位置 $(window).scroll(function(){ jQuery('.scroll').html(document.body.scrollTop); }); <div class="scroll"></div> 因此,如果我不能正确计算位置,脚本就有点不起作用:) 任何帮助都将不胜感激。scrollTop返回的值是元素在渲染窗口顶部上方的距离 +-----------+ \ |

我正在使用下面的脚本查看滚动条的位置

$(window).scroll(function(){
    jQuery('.scroll').html(document.body.scrollTop);
});

<div class="scroll"></div>
因此,如果我不能正确计算位置,脚本就有点不起作用:)


任何帮助都将不胜感激。

scrollTop返回的值是元素在渲染窗口顶部上方的距离

   +-----------+     \
   |           |     |  - this distance.
+----------------- + /
|  |           |   |
|  |           |   |
|  +-----------+   |
|                  |
|                  |
|                  |
|                  |
+------------------+
如果有一个1000px高的div,并且渲染窗口为600px,则渲染边上方将有400px。如果渲染窗口为200px,则渲染边上方将有800px

您可以将其视为必须向上滚动才能显示元素顶部的距离

如果您可以通过将窗口变小,然后向下滚动页面~100px来查看此效果

现在把窗户的底部拉下来。当滚动条到达页面底部时,您会注意到该值开始减小


更多信息:

问题是,如果我的browserwindow最大化,当我滚动到底部时变量变为1095px,当我的browserwindow没有最大化时,当我滚动到底部时变量变为1600px,那么如果(the-element-that-is-800px-from-top==在currentwindow中可见){$('#element'),我如何使下面的脚本工作.fadeIn();}还是应该使用另一个函数?
   +-----------+     \
   |           |     |  - this distance.
+----------------- + /
|  |           |   |
|  |           |   |
|  +-----------+   |
|                  |
|                  |
|                  |
|                  |
+------------------+