javascript - 在 javascript 中使用 cookie 存储和恢复滚动位置

标签 javascript jquery cookies

我之前看到了一个答案,但我得到的答案似乎对我不起作用。我是 javascript 的初学者,所以如果有人能解释我做错了什么,我将不胜感激。

我的代码在这里:

<script type="text/javascript">
        $(document).ready(function()
        {
            if ( $.cookie("scroll") != null )
            {
                $(window).scrollTop( $.cookie("scroll") );
            }

            $(window).on("scroll", function()
            {
                $.cookie("scroll", $(window).scrollTop() );
            });

        });
    </script>

我想要实现的是如标题中所述,使用 cookie 存储用户的滚动位置,并在刷新页面时保持该位置。如果有另一种方法,我不需要使用 cookie。提前谢谢你。

最佳答案

如果您确实包含了 jquery cookie,那么一切都应该按预期工作:

//soln 1
$(window).on("scroll", function() {
  $.cookie("tempScrollTop", $(window).scrollTop());
});
$(function() {
  if ($.cookie("tempScrollTop")) {
    $(window).scrollTop($.cookie("tempScrollTop"));
    alert("loaded postion : " + $.cookie("tempScrollTop"));
  }
});

工作地点:http://output.jsbin.com/nizejuw


这是使用 HTML5 本地存储规范的替代解决方案

//loading soln

$(function() {
  if (localStorage.tempScrollTop) {
    $(window).scrollTop(localStorage.tempScrollTop);
    alert("loaded postion : " + localStorage.tempScrollTop);
  }
});


//saving soln 1
$(window).on("scroll", function() {
  localStorage.setItem("tempScrollTop", $(window).scrollTop());
});

//saving soln 2
window.onbeforeunload = function() {
  var tempScrollTop = $(window).scrollTop();
  localStorage.setItem("tempScrollTop", tempScrollTop);
  return "Saved scroll to localstorage!!";
};

关于javascript - 在 javascript 中使用 cookie 存储和恢复滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38750414/

相关文章:

javascript - 使用 jquery 更改单击按钮的 html 代码时遇到问题

javascript - 类型错误 : Cannot use 'in' operator to search for '_id' in [{}]

javascript - 使用 gaxios(或 axios)管道请求

javascript - 根据选定的单选按钮添加/删除下拉选项

javascript - 在 jQuery 日期中将 0 添加到月份

javascript - 如何清除此 JavaScript cookie?

javascript - 带有 onclick 和 href ='#' 的 anchor 标记滚动到顶部

jquery - 单击关闭嵌套的 div ul li

javascript - OAuth2 重定向 URL 应该指向前端还是后端?

php - Codeigniter session cookie 和记住我选项