Javascript 当我们单击“后退”按钮时,使用history.js会显示相同的滚动位置

Javascript 当我们单击“后退”按钮时,使用history.js会显示相同的滚动位置,javascript,jquery,ajax,model-view-controller,history.js,Javascript,Jquery,Ajax,Model View Controller,History.js,我想实现一个功能,点击后退按钮,我回到原来的位置。一个很好的例子可能是任何电子商务网站。当我们向下滚动并点击一个产品,然后从产品页面单击后退,我们应该到达该产品所在页面的相同位置 我们使用history.js查找hashchange,并使用pushstate保存条目。 但当我点击后退按钮时,它会加载到页面顶部,而不是项目滚动位置。此外,我们主要使用AJAX来处理数据 我对jquery、ajax等都是新手,所以不知道如何在单击后退按钮时设置滚动位置、保存和加载 任何帮助都会很好 谢谢我最近使用$(

我想实现一个功能,点击后退按钮,我回到原来的位置。一个很好的例子可能是任何电子商务网站。当我们向下滚动并点击一个产品,然后从产品页面单击后退,我们应该到达该产品所在页面的相同位置

我们使用history.js查找hashchange,并使用pushstate保存条目。 但当我点击后退按钮时,它会加载到页面顶部,而不是项目滚动位置。此外,我们主要使用AJAX来处理数据

我对jquery、ajax等都是新手,所以不知道如何在单击后退按钮时设置滚动位置、保存和加载

任何帮助都会很好


谢谢

我最近使用
$(document).scrollTop()
实现了类似的功能,并在离开页面时将该图形存储在cookie中。我的用例是非ajaxy的,但同样的想法可以很容易地适应History.js的事件取代页面加载事件,并且不需要为持久性而麻烦cookie;正如@Kyle在其评论中提到的,History.js允许您使用返回到该状态时返回的pushState存储数据


请参阅jQuery的文档:

如果您使用的是
pushState
,则可以将任何信息推送到堆栈上。这可能包括可滚动视图的滚动顶部,然后在PopState上读取它。如果不更改history.pushState,我仍然可以获取已单击项目的滚动顶部并保存它吗。那么,在产品重定向到secondPage之前,我如何检索它的滚动位置呢。这样我就可以使用相同的滚动位置进入第一页了?另外,当使用此选项时,分页将影响backbutton导航-当我考虑单个页面时,但我将单击viewmore以显示更多数据我正在执行此操作
“code”函数滚动到(toId){try{var targetOffset=jQuery(“#”+toId).offset();var targetTop=targetOffset.top;jQuery('html,body')。delay(100)。动画({scrollTop:targetTop},'slow');}catch(e){}–

在这个函数中,我不知道如何捕获scrollpos并将其传递到这里。我有一个div,其中有多个div,每个div中都有一个项目列表。

单击时如何获取每个列表项目的位置?谢谢