你能得到用户’;每次使用JavaScript/jQuery滚动时,滚动位置是多少?

你能得到用户’;每次使用JavaScript/jQuery滚动时,滚动位置是多少?,javascript,jquery,Javascript,Jquery,当用户滚动时,是否可以获取滚动条的当前位置 比如说,如果他们滚动到最顶端,它将是0,如果他们向下滚动,它将改变 我可以在每次访问时分配一个变量来包含当前的滚动位置吗,或者JavaScript中已经有了用于此的函数吗?此对象的窗口对象上有属性:窗口.scrollX和窗口.scrollY 例如,请参见您可以获得body元素的scrollTop属性: document.getElementsByTagName('body')[0].scrollTop; 这将返回可见区域上方的像素数。因此,当用户未滚

当用户滚动时,是否可以获取滚动条的当前位置

比如说,如果他们滚动到最顶端,它将是0,如果他们向下滚动,它将改变


我可以在每次访问时分配一个变量来包含当前的滚动位置吗,或者JavaScript中已经有了用于此的函数吗?

此对象的
窗口
对象上有属性:
窗口.scrollX
窗口.scrollY


例如,请参见

您可以获得body元素的scrollTop属性:

document.getElementsByTagName('body')[0].scrollTop;

这将返回可见区域上方的像素数。因此,当用户未滚动时为0,当滚动条位于底部时为
bodyheight ViewPortHight

作为Paul D Waite答案的补充,您可以告诉浏览器使用
window.scroll(0,0)将窗口滚动至,其中值引用x和y位置。

尝试使用

以下是一个例子:


编辑

如果您试图输出正在滚动的元素的位置,则可以使用事件:

下面是一个活生生的例子:


从您的评论中,我知道您正在寻找滚动事件侦听器,例如 ,然后您可以使用查找滚动条的位置

例如:

<script>
$(window).scroll(function () { 
    //You've scrolled this much:
       $('p').text("You've scrolled " + $(window).scrollTop() + " pixels");
});
</script>

$(窗口)。滚动(函数(){
//您已经滚动了这么多:
$('p').text(“您已经滚动了”+$(窗口).scrollTop()+“像素”);
});

滚动页面时,scrolledDown的值是否会动态变化?抱歉。在你给我的链接上,它创建了一个名为scrolledDown的变量。我假设每次打开页面时都需要某种函数更新scrolled@Richard:啊,明白了-您最初的问题没有明确说明您希望在用户的滚动位置更改时运行一些代码。抱歉,在过去的15分钟里,我一直在关注scrollTop,但对于JavaScript,我是一个非常业余的人。我正在试图找到一种方法,在页面滚动时更改值,但目前为止运气不佳。您正在寻找滚动事件侦听器。谢谢jdavies!:)工作是一种享受。同时,感谢OhCaN。我看到了你的评论并尝试了一下,但我做得很慢。可能稍微干净一点:$('#container').scroll(function(){var position=$(this.scrollTop();});为了提高性能,您可能希望缓存窗口对象,而不是在事件处理程序中调用$()方法。
<script>
$(window).scroll(function () { 
    //You've scrolled this much:
       $('p').text("You've scrolled " + $(window).scrollTop() + " pixels");
});
</script>