以下是网上copy的代码,可以实现刷新定位,但是每次刷新的时候,滚动条总是从最上面的位置下滑到上次的位置。有没有办法可以解决,一开始就停留在上次的位置?
<body>
<div id="div1" style="width: 200px; height: 200px; overflow: scroll" onscroll="setCookie('t',this.scrollTop)">
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
</div>
<script>
function setCookie(cookieName, cookieValue) {
var today = new Date();
var expire = new Date();
nMinutes = 100;
expire.setTime(today.getTime() + nMinutes * 60 * 1000);
document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
} function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
} window.onload = function () {
var t = getCookie("t")
if (t != "") {
document.getElementById("div1").scrollTop = parseInt(t);
}
}
</script>
<body>
<div id="div1" style="width: 200px; height: 200px; overflow: scroll" onscroll="setCookie('t',this.scrollTop)">
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
<p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p><p>测试文字</p>
</div>
<script>
function setCookie(cookieName, cookieValue) {
var today = new Date();
var expire = new Date();
nMinutes = 100;
expire.setTime(today.getTime() + nMinutes * 60 * 1000);
document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
} function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
} window.onload = function () {
var t = getCookie("t")
if (t != "") {
document.getElementById("div1").scrollTop = parseInt(t);
}
}
</script>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货