页⾯的div中有滚动条,js实现刷新页⾯后回到记录时滚动条的位置
element表格横向滚动条 当div中绑定数据,给它⼀个属性overflow-y: scroll,添加长度⼤⼩,使其能够出现滚动条;每次刷新的时候滚动条总是会出现在最上⽅,这使我很头疼,经过查阅⽹上资料,返现两种⽅法可⾏。如下:
第⼀种⽅案
将上⼀个页⾯的div的scrolltop距离长度记录在cookie中,然后通过js调整刷新页⾯时的长度记录,代码如下:
js代码:
<script>
var _h = 0;
function SetH(o) {
_h = o.scrollTop
SetCookie("a", _h)
}
}
function SetCookie(sName, sValue) {
}
function GetCookie(sName) {
var aCookie = kie.split("; ");
for (var i = 0; i < aCookie.length; i++) {
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
return 0;
}
</script>
html中代码如下:
<div id="x" onscroll="SetH(this)">
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
</div>
第⼆种⽅案
1.通过div的onscroll事件记录滚动条的scrollTop值,设置到kie
2.页⾯加载时再读取kie的值,设置给div的scrollTop
js代码实现:
<script type="text/javascript">
function KeepScrollBar() {
var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
scrollPos = window.pageYOffset;
}
else if (typeof document.body != 'undefined') {
scrollPos = ElementById('divContent').scrollTop;
}
}
if (kie.match(/scrollTop=([^;]+)(;|$)/) != null) {
var arr = kie.match(/scrollTop=([^;]+)(;|$)/);
}
}
</script>
html:
<div class="content" data-role="tab-content" data-id="course-a" runat="server" id="divContent" 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>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论