【问题标题】:How to retain scroll position after reloading the web-page too? [closed]重新加载网页后如何保持滚动位置? [关闭]
【发布时间】:2017-02-23 10:18:51
【问题描述】:
$(文档).ready(函数(){ $("#addmedic").click(function(){ sessionStorage.setItem("pos", $("div").scrollTop()); }); }); $(文档).ready(函数(){ if (sessionStorage.getItem("pos") != "undefined") { $("div").scrollTop(sessionStorage.getItem("pos")); } });

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

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

【问题讨论】:

  • 如果很紧急,你不应该在这里发布。
  • 如果您有紧急需求,为什么不为您雇用一些员工?
  • 如果是紧急的事情,我们可以不关心。为您的问题添加更多详细信息,因为目前尚不清楚没有MCVE它对我不起作用什么也没告诉我们。
  • 本网站旨在帮助您解决问题。但是您需要显示该代码。否则看起来你只是希望有人为你做你的工作
  • 很抱歉给您带来不便。

标签: javascript java jquery css


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    Here is the JSFiddle demo

    【讨论】:

    • 谢谢先生。我正在使用此代码,但重新加载后我的光标仍然一次又一次地移动到顶部。
    • $(document).ready(function(){ $("#addmedic").click(function(){ sessionStorage.setItem("pos", $("div").scrollTop( )); }); }); $(document).ready(function(){ if (sessionStorage.getItem("pos") != "undefined") { $("div").scrollTop(sessionStorage.getItem("pos")); } }) ;
    • 先生,我正在存储,并且在加载后得到。或者在加载过程中你可以说。但滚动表现其默认性质并在顶部。
    • 此解决方案有效。但正如您在 [Here is the JSFiddle demo] (jsfiddle.net/h6su67rn) 中看到的那样,页面闪烁。我们可以删除它吗?
    【解决方案3】:

    在滚动时,您可以获取元素的 id 并将其存储在变量中。比 使用 focus() 表示带有 ID。它会为你工作。在你关注它之前处理那个变量的 null。

    这是一个很好的例子

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

    【讨论】:

    • 我已经尝试将焦点放在那个位置上,这意味着它正在那里聚焦,但之后再次滚动到顶部。
    • 感谢您的回复
    • 哦,伙计,不要停止通过 e.preventdefault 向上滚动
    • $(document).ready(function(){ $("#addmedic").click(function(){ sessionStorage.setItem("pos", $("div").scrollTop( )); }); }); $(document).ready(function(){ if (sessionStorage.getItem("pos") != "undefined") { $("div").scrollTop(sessionStorage.getItem("pos")); } }) ;
    猜你喜欢
    • 2014-11-18
    • 2012-10-16
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多