每次用JavaScript / jQuery滚动时,你能获得用户的滚动位置吗?
滚动时是否可以抓取用户滚动条的当前位置?
比方说,如果它们滚动到最顶部,它将为0,如果它们向下滚动它会改变。
每当我访问它时,我可以分配一个变量来包含当前滚动位置,还是已经有JavaScript中的函数?
从你的评论中,我得到你正在寻找一个滚动事件监听器,如http://api.jquery.com/scroll/ ,然后你可以使用http://api.jquery.com/scrollTop/找出卷轴的位置。
例如:
window
对象上有以下属性: window.scrollX
和window.scrollY
。
参见例如http://javascript.gakaa.com/window-scrollx-2-0-scrolly.aspx
尝试使用.scrollTop()
这是一个例子:
编辑
如果您尝试输出正在滚动的元素的位置,那么可以使用.scroll()事件来实现:
$('#container').scroll(function(){ var position = $('#container').scrollTop(); });
这是一个实例:
您可以获取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位置。