js实现刷新页面后回到记录时滚动条的位置

第二种方案
1.通过div的onscroll事件记录滚动条的scrollTop值,设置到document.cookie
2.页面加载时再读取document.cookie的值,设置给div的scrollTop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
  function KeepScrollBar() {
   var scrollPos;
   if (typeof window.pageYOffset != 'undefined') {
    scrollPos = window.pageYOffset;
   }
   else if (typeof document.body != 'undefined') {
    scrollPos = document.getElementById('divContent').scrollTop;
   }
   document.cookie = "scrollTop=" + scrollPos;
  }
  window.onload = function (){
   if (document.cookie.match(/scrollTop=([^;]+)(;|$)/) != null) {
    var arr = document.cookie.match(/scrollTop=([^;]+)(;|$)/);
    document.getElementById('divContent').scrollTop = parseInt(arr[1]);
   }
  }
</script>

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="content" data-role="tab-content" data-id="course-a" runat="server" id="divContent" style="height: 365px; overflow-y: scroll" onscroll= "KeepScrollBar()">
    <p>   1</p>  
    <p>   2</p>  
    <p>   3</p>  
    <p>   4</p>  
    <p>   5</p>  
    <p>   6</p>  
    <p>   7</p>  
    <p>   8</p>  
    <p>   9</p>  
    <p>   10</p>  
    <p>   11</p>  
    <p>   12</p>  
    <p>   13</p>  
    <p>   14</p>  
    <p>   15</p>  
    <p>   16</p>
</div>

  

posted @   心无引擎,眼无流派  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示
哥伦布
15:09发布
哥伦布
15:09发布
8°
西风
4级
空气质量
相对湿度
56%
今天
0°/13°
周一
4°/16°
周二
多云
7°/18°