如何在重新加载网页后保留滚动位置?

时间:2016-10-14 05:20:15

标签: javascript java jquery css3

$(文件)。就绪(函数(){     $("#addmedic&#34)。单击(函数(){             sessionStorage.setItem(" pos",$(" div")。scrollTop());         });  });   $(文件)。就绪(函数(){     if(sessionStorage.getItem(" pos")!=" undefined"){           $(" DIV&#34)。scrollTop的(sessionStorage.getItem(" POS&#34));           } });

我使用过Javascript scrollTo和scrollBy函数。但它不起作用

对我来说。我想存储滚动的位置,以便我可以得到  也加载网页。

3 个答案:

答案 0 :(得分:1)

在离开页面之前在cookie中存储滚动位置,然后在页面重定向的情况下使用该cookie来设置滚动位置。

答案 1 :(得分:1)

您可以使用会话存储来存储位置,然后返回到重新加载页面时的位置,如下所示:

$(window).scroll(function() {
  sessionStorage.scrollTop = $(this).scrollTop();
});

$(document).ready(function() {
  if (sessionStorage.scrollTop != "undefined") {
    $(window).scrollTop(sessionStorage.scrollTop);
  }
});

Here is the JSFiddle demo

答案 2 :(得分:1)

滚动时,您可以获取元素的id并将其存储在变量中。比 使用focus()表示ID。它会对你有用。在对焦点进行聚焦之前,为该变量处理null。

这是一个很好的例子

$(window).scroll(function() {
  sessionStorage.scrollTop = $(this).scrollTop();
});

$(document).ready(function() {
  if (sessionStorage.scrollTop != "undefined") {
    $(window).scrollTop(sessionStorage.scrollTop);
  }
});