国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

js實現刷新頁面后回到記錄時滾動條的位置【兩種方案可選】

2024-05-06 16:33:34
字體:
來源:轉載
供稿:網友

當div中綁定數據,給它一個屬性overflow-y: scroll,添加長度大小,使其能夠出現滾動條;每次刷新的時候滾動條總是會出現在最上方,這使我很頭疼,經過查閱網上資料,返現兩種方法可行。如下:

第一種方案

將上一個頁面的div的scrolltop距離長度記錄在cookie中,然后通過js調整刷新頁面時的長度記錄,代碼如下:

js代碼:

<script>  var _h = 0;  function SetH(o) {   _h = o.scrollTop   SetCookie("a", _h)  }  window.onload = function () {   document.getElementById("x").scrollTop = GetCookie("a");//頁面加載時設置scrolltop高度  }  function SetCookie(sName, sValue) {   document.cookie = sName + "=" + escape(sValue) + "; ";  }  function GetCookie(sName) {   var aCookie = document.cookie.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" style="height: 200px; overflow: scroll" 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值,設置到document.cookie

2.頁面加載時再讀取document.cookie的值,設置給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 = 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>

html:

<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>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VeVb武林網!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德安县| 桐梓县| 读书| 蓝山县| 虹口区| 石嘴山市| 定襄县| 万盛区| 玛多县| 天气| 噶尔县| 读书| 汤阴县| 石台县| 昭平县| 连城县| 资溪县| 浙江省| 姚安县| 克山县| 攀枝花市| 五河县| 新津县| 芜湖市| 凤阳县| 南城县| 乐山市| 泸州市| 翁源县| 云阳县| 远安县| 闽清县| 阜康市| 越西县| 顺昌县| 衡山县| 东兴市| 安泽县| 博乐市| 汕尾市| 开封县|