实现无限滚动的后退按钮
Implementing backbutton with infinite scroll
我有新的页面通过无限滚动加载在我的网站上。每次加载新页面时,我都会使用HTML5 pushstate API更新url:
if(history.pushState) {
history.pushState(null, null, '/page:' + current_page);
}
我的url是这样的:
http://mysite.com.com/page:1
http://mysite.com.com/page:2
http://mysite.com.com/page:3
等等…
当用户单击列表中的一个项目(例如在第2页),然后单击返回按钮,他将被带回到:
http://mysite.com.com/page:2
但是他不是在页面的顶部,而是在他点击的部分。因为page:2现在被加载在最顶端,他所在的部分重新加载第三页,他却在看那一页的一篇文章。
是否有办法让用户每次点击后退按钮都回到页面顶部?
我尝试在页面加载上使用锚标记和javascript滚动,但都不可行,因为在用户被带到顶部之前有几个跳跃。
我所见过的backbutton with infinite scroll的最好例子是http://imgur.com,但是我不知道他们是怎么做到的
github上有一个名为infinite-ajax-scroll的库,似乎可以满足您的需求。您可以使用history
选项初始化它,该选项将在滚动页面时更新url的哈希值。唯一的问题是,您必须更改加载数据的方式以使用库。
jQuery.ias({
....
history:true,
....
});
你也可以看看tumbledry.org上的这篇博客文章,它解释了一些更接近你想要做的事情,但我认为它没有很好地实现。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 结合jQuery和jetpack无限滚动
- jQuery创建无限滚动的加载更多按钮
- 无限循环的数字行情机,直到按下停止按钮
- React按钮中的无限循环
- 在点击按钮时无限调用javascript函数
- 实现无限滚动的后退按钮
- 如何在AngularJs中实现无限滚动中的后退按钮
- 如何循环通过按钮无限次
- 无限滚动使用AJAX, Javascript/jQuery, DOM和Facebook喜欢按钮
- 让tumblr喜欢按钮与无限滚动工作