页面刷新的时候记住滚动条的位置

         知识点,1、滚动条滚动时候的方法(scrolltop);2、cookie(浏览器或其它软件存cookie)3、onbeforeunload ;4、window.onload。

    

兼容性较好的代码如下:

window.onbeforeunload = function() {
                   var scrollPos;
                   if(typeof window.pageYOffset != 'undefined') {
                        scrollPos = window.pageYOffset;
                   } else if(typeof document.compatMode != 'undefined' &&
                        document.compatMode != 'BackCompat') {
                        scrollPos = document.documentElement.scrollTop;
                   } else if(typeof document.body != 'undefined') {
                        scrollPos = document.body.scrollTop;
                   }
                   document.cookie = "scrollTop=" + scrollPos; //存储滚动条位置到cookies中
              }
              window.onload = function() {
                   if(document.cookie.match(/scrollTop=([^;]+)(;|$)/) != null) {
                        var arr = document.cookie.match(/scrollTop=([^;]+)(;|$)/); //cookies中不为空,则读取滚动条位置
                         document.documentElement.scrollTop = parseInt(arr[1]);
                        document.body.scrollTop = parseInt(arr[1]);
                   }
              }

主要的一点就是,利用了   onbeforeunload  这个时间,在即将离开当前页面(刷新或者关闭)时执行JavaScript。
其次就是得记住当前的页面滑到了哪里。不能用这个方法的浏览器就得用不同的办法进行了。
再次就是在页面加载的时候进行滚动,滚动到我们想要去的地方。保存的方法可以用本地存储,也可以用cookie。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值