获取当前的滚动位置,并把它作为带有链接的变量?(Get current scroll positio

2019-06-23 19:01发布

我会说实话,我是我的出路深入这里。 我创建了一个分页系统,你点击一个链接它重新加载页面和列表项一定数量在一个无序列表中显示。 当你再次点击它,它会重新加载页面和更多的项目展示。 认为Twitter的是如何显示您的饲料的鸣叫。

问题是,当它重新加载它停留在页面顶部。 我想是因为它跳转到它以前曾在页面上的同一位置。

我已经有树立优良的我只是不知道如何让当前的滚动位置,然后将其传递到新的页面就跳转到链接选择。

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

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

我在哪里何去何从?

Answer 1:

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

  2. 获取和设置使用滚动位置window.pageYOffsetwindow.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(); 


Answer 2:

由于GS说,通过Ajax调用,而不是重新加载页面的添加元素。

如果你不想使用jQuery.ScrollTo插件。 它支持与滚动,你可能永远都梦想的事情了



Answer 3:

我认为你需要的只是你的链路的末端传递一个HTML锚什么。 旁边的匹配锚浏览器会自动滚动到的元素。 例:

<a href="page2.html#myanchor">Next page</a>

在第2页的中间某点:

<a name="myanchor">My item N</a>


Answer 4:

根据@Shawn Grigson的链接,pageYOffset不支持在所有浏览器相同。

jQuery的解决方案(希望真正的跨浏览器兼容的,虽然我还没有测试过)用于获取和设置元素的垂直滚动是scrollTop的() 。



文章来源: Get current scroll position and pass it as a variable with a link?