每次用JavaScript / jQuery滚动时,你能获得用户的滚动位置吗?

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

比方说,如果它们滚动到最顶部,它将为0,如果它们向下滚动它会改变。

每当我访问它时,我可以分配一个变量来包含当前滚动位置,还是已经有JavaScript中的函数?

从你的评论中,我得到你正在寻找一个滚动事件监听器,如http://api.jquery.com/scroll/ ,然后你可以使用http://api.jquery.com/scrollTop/找出卷轴的位置。

例如:

 

http://jsfiddle.net/pFaTF/

window对象上有以下属性: window.scrollXwindow.scrollY

参见例如http://javascript.gakaa.com/window-scrollx-2-0-scrolly.aspx

尝试使用.scrollTop()

这是一个例子:

http://jsfiddle.net/LZM7H/


编辑

如果您尝试输出正在滚动的元素的位置,那么可以使用.scroll()事件来实现:

 $('#container').scroll(function(){ var position = $('#container').scrollTop(); }); 

这是一个实例:

http://jsfiddle.net/LZM7H/2/

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

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

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

除了Paul D Waite回答之外,您可以通过使用window.scroll(0,0);告诉浏览器滚动窗口window.scroll(0,0); ,其中值引用x和y位置。