使用history.js,当我们点击后退按钮时,回到相同的滚动位置
Using history.js come to the same scroll position when we click back button
我想实现一个功能,其中在点击后退按钮,我回到相同的位置。一个很好的例子可能是任何电子商务网站。当我们向下滚动并点击产品,然后从产品页面返回时,我们应该到达该产品所在页面的相同位置。
我们使用history.js查找hashchange和pushstate来保存条目。但是当我点击后退按钮时,它会加载到页面顶部,而不是项目滚动位置。此外,我们主要使用AJAX加载数据
我对jquery, ajax相当陌生,所以不知道如何设置滚动位置,保存和加载期间后退按钮点击。
任何帮助将是伟大的!
谢谢
我最近使用$(document).scrollTop()
实现了类似的东西,并在离开页面时将该数字存储在cookie中。我的用例是非ajax的,但同样的想法可以很容易地与History.js的事件取代页面加载事件相适应,而不需要为cookie的持久性而烦恼;正如上面@Kyle在他的评论中提到的,History.js允许你用pushState存储数据,当你返回到那个状态时返回。
参见jQuery的文档:http://api.jquery.com/scrolltop/
相关文章:
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- jquery:将动画绑定到滚动条位置的更好方法
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 有没有一种方法可以直接从cordova获得滚动位置
- 根据滚动位置动态更改href
- css/js:通过滚动固定位置
- 是否可以使用flexbox显示模型设置元素的滚动位置
- 固定位置侧边栏不滚动-设置内容的高度
- 浏览器持续滚动位置
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- javascript/获取滚动条位置的回调
- Sammy.js缓存和滚动位置时,返回历史
- 使用绝对位置时,jQuery向左滚动不起作用
- PHP保持滚动位置
- 按下后退按钮时,如何保持可滚动区域的滚动位置
- 刷新jqGrid;t在启用无限滚动的情况下保存当前页面位置
- 将滚动条移动到页面中间的控制位置
- 如何使用位置获取滚动功能获取 HTML 中的元素标签
- 滚动位置 (scrollTop) 硬件是否在浏览器中加速
- 鼠标位置滚动