网页刷新或者重新加载后滚动条的位置不变
来源:互联网 发布:微信小视频修改软件 编辑:程序博客网 时间:2024/06/05 17:16
在开发的过程中我们经常需要重新加载或者刷新某个画面,已确保数据显示是最新的。但是如果一丁点改变就刷新画面的话,会导致用户体验很差,想想看你好不容易把网页拖到最后,结果点击某个按钮的时候,又跑到顶端;或者网页内容很多,你在网页的某个区域进行操作,操作完毕后却回到顶端,再次操作的时候还得找到那个区域。
有两种方法可以解决这个问题:ajax部分刷新或者刷新后滚动条位置不变。这里我们先不说ajax的方法,因为在开发过程中可能受需求的限制,你并不需要用ajax的方法。那么如何才能实现网页刷新或者重新加载后滚动条的位置不变那?
我们可以在没有刷新之前存储当前滚动条的位置,然后在网站加载的时候读取存储的滚动条位置。这里需要用到window.onbeforeunload()、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]); }}
0 0
- 网页刷新或者重新加载后滚动条的位置不变
- 网页刷新或者重新加载后滚动条的位置不变
- 网页刷新或者重新加载后滚动条的位置不变
- js实现网页刷新后滚动条位置不变
- 页面刷新或者回发后DIV的滚动条位置不变!
- 页面刷新后保持滚动条的位置不变
- 页面刷新后保持滚动条的位置不变
- asp.net页面刷新后的滚动条位置不变
- asp.net页面刷新后的滚动条位置不变
- asp.net页面刷新后的滚动条位置不变
- 网页刷新 页面位置不变(根据滚动条)
- 用一句代码实现页面刷新后滚动条位置不变
- ext 4.2 grid刷新后 滚动条位置不变
- Ext Grid刷新后 滚动条位置不变
- javaScript刷新页面—滚动条位置不变的操作
- DIV层,刷新滚动条位置不变
- WinForm中的DataGrid控件在刷新后保持原滚动条位置不变
- 网页中广告随着滚动条滚动位置不变
- 第十七节,class
- 服务不支持chkconfig解决方法脚本
- Window VMware MAC OS 安装
- 如何通过安装包安装应用到手机
- (4.6.22.2)来吧,是时候撸一份自己的RxJava框架啦:代理模式实现线程调度
- 网页刷新或者重新加载后滚动条的位置不变
- fastClick入坑爬坑详解
- 货币金额转化大写
- 通信死时间以及缓冲队列的使用对系统死时间的影响
- 第十八节,修饰器
- rpm 解压和查看清单
- .net core中有哪些被抛弃的类
- 在oracle里如何将String转换成Date?????
- MFC DLL