在使用HTML5 onHashChange进行AJAX导航时,有没有办法保持用户的滚动状态?
例如 - 我有一个25个项目的Twitter提要,用户向下滚动到第25个项目并触摸该框。然后屏幕查看单个推文。如果用户触摸后面,那么它将使用onHashChange将页面更改回正确的哈希值,使用history.go(-1)。但是,此过程将自动向上滚动到页面顶部 - 而不是保持滚动状态,这使用户保持在第25位。
有没有办法解决这个问题?我的代码示例如下:
<a href="#page-2">Page 2</a>
<a href="#page-3">Page 3</a>
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash){
$(".page").hide();
$("#"+newHash).show();
}
else
{
$(".page").hide();
$(".page:first).show();
}
});
$(window).trigger('hashchange');