如何保存滚动状态

how to save the scroll state

本文关键字:滚动 状态 保存 何保存      更新时间:2023-09-26

我想保存/确定滚动状态(当前位置),这样当用户回到上一个网站时,他可以从离开的位置继续他的工作。

我可以持续将滚动位置保存到全局变量中,并在用户返回时读取它吗?

使用javascript,您可以找到滚动高度,然后将其设置为cookie。这不是一个很好的方法,但它是可能的。

查找滚动高度:

$(document).ready(function(){
    $(window).scroll(function(){
       var scrolled = $(this).scrollTop(); 
        console.log(scrolled);
    });
});

我建议使用jquery cookie插件将其设置为cookie或会话:http://archive.plugins.jquery.com/project/Cookiehttp://www.sitepoint.com/eat-those-cookies-with-jquery/

然后将变量添加到cookie:

$(document).ready(function(){
    $(window).scroll(function(){
        $.removeCookie("mySiteScrolled");
        var scrolled = $(this).scrollTop(); 
        $.cookie("mySiteScrolled", scrolled);
        console.log(scrolled);
    });
});

然后添加"检查滚动"语句

$(document).ready(function(){
    var scrolled = $.cookie("mySiteScrolled");
    if(scrolled){
        $(window).scrollTop(scrolled);
    }
    $(window).scroll(function(){
        $.removeCookie("mySiteScrolled");
        var scrolled = $(this).scrollTop(); 
        $.cookie("mySiteScrolled", scrolled);
        console.log(scrolled);
    });
});

我可能会使用jQuery来轻松确定scoll位置$(document).scrollTop();,并使用本地存储来设置/获取位置。