sessionStorage缓存滚动条位置

想象在一个列表页,用户上滑页面浏览数据,点击某一条进入详情页,之后再从详情页返回列表页时不会想再从头去查看数据,这就要求我们记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部。这里需要用到sessionStorage,代码如下:

$(window).scroll(function(){    
    if($(document).scrollTop()!=0){
        sessionStorage.setItem("offsetTop", $(window).scrollTop());//保存滚动位置
    }         
});
        
window.onload = function(){
    var _offset = sessionStorage.getItem("offsetTop");//获取滚动位置
    $(document).scrollTop(_offset);
};

PS.

以上指的是用户通过链接方式返回列表页,会直接到列表页的顶部。如果是通过物理键返回貌似会自动记住刚刚浏览的位置。

原文地址:https://www.cnblogs.com/nicoleyani/p/7027577.html