获取当前滚动位置并将其作为带链接的变量传递?

18 jquery scroll scroll-position

老实说,我离开了这里的深度.我创建了一个分页系统,您点击它重新加载页面的链接,并在无序列表中显示一定数量的列表项.当您再次单击它时,它将重新加载页面并显示更多项目.想想Twitter如何在您的Feed中显示推文.

问题是当它重新加载它停留在顶部的页面时.我想要的是它跳转到之前页面上的相同位置.

我已经有一个链接设置的选择器很好我只是不知道如何获取当前滚动位置然后将其传递给新页面以便它跳转到.

到目前为止,这是我的代码:

jQuery(document).ready(function(){
    $("a[rel=more]").live("click", function(){
        //script...
    });
});
Run Code Online (Sandbox Code Playgroud)

我从哪里开始?

Geo*_*lly 29

  1. 使用AJAX重新加载项目,而不是重新加载整个页面.

  2. 使用window.pageYOffset和获取并设置滚动位置window.scrollTo(0, y).

    我将位置存储在URL的哈希值中:

    // after loading the document, scroll to the right position
    // maybe location.hash has to be converted to a number first
    $(document).ready(function() {
        window.scrollTo(0, location.hash);
    });
    
    // I'm not quite sure if reload() does preserve the hash tag.
    location.hash = window.pageYOffset;
    location.reload();
    
    Run Code Online (Sandbox Code Playgroud)

  • 要拥有更多的跨浏览器功能,如果您已经在使用jQuery,请使用`$(window).scrollTop()`和`$(window).scrollLeft()`来获取窗口的当前滚动位置. (6认同)
  • 如果此列表在可滚动的DIV上,我如何使DIV的滚动条滚动到所需的位置? (2认同)
  • 要获得跨页面偏移量的跨浏览器功能,请尝试以下操作:http://www.howtocreate.co.uk/tutorials/javascript/browserwindow向下滚动到getScrollXY()函数. (2认同)