你能得到用户的滚动位置,每次他们滚动JavaScript/jQuery

Can you get the user’s scroll position every time they scroll with JavaScript/jQuery?

本文关键字:滚动 他们 JavaScript jQuery 位置 用户      更新时间:2023-09-26

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

比如说,如果它们被滚动到最上面,它将是0,如果它们向下滚动,它将改变。

我可以分配一个变量来包含当前滚动位置,无论何时我访问它,或者在JavaScript中已经有一个函数?

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

例如:

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

window对象上有相应的属性:window.scrollXwindow.scrollY

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

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

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

返回位于可见区域上方的像素数。0表示用户没有滚动,bodyheight-viewporthieght表示滚动条在底部

尝试使用。scrolltop ()

下面是一个例子:

http://jsfiddle.net/LZM7H/


编辑

如果你想输出正在滚动的元素的位置,那么可以使用。scroll()事件:

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

下面是一个实例:

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

作为Paul D Waite答案的附加内容,您可以告诉浏览器通过使用window.scroll(0,0);来滚动窗口,其中值引用x和y位置