欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS返回頁面時自動回滾到歷史瀏覽位置

 更新時間:2018年09月26日 10:27:31   作者:丁俊杰_  
這篇文章主要介紹了JS返回頁面時自動回滾到歷史瀏覽位置的相關(guān)知識,本文給大家使用的是SessionStorage來存儲頁面內(nèi)容,在返回頁面時重新加載,具體實現(xiàn)代碼大家跟隨小編一起看看吧

在我的系統(tǒng)實際開發(fā)過程中遇到一個需求,我需要讓應(yīng)用在各個頁面間跳轉(zhuǎn)時回到每頁原先瀏覽到的位置,方便用戶使用。

在網(wǎng)上查資料時,看到的方案有不少,眾說紛紜,但真正給出可行可用代碼的寥寥無幾,所以我干脆按自己的想法用SessionStorage寫了一個緩存頁面的方法,在離開頁面時將需要緩存的容器中所有內(nèi)容都存到SessionStorage中,在返回頁面時重新加載,方便用戶操作,效果如下:

頁面緩存

使用方法

用法也很簡單,咱一步一步講。

首先,在你需要緩存標簽容器的類名中加入cache,并寫一個name作為該容器的唯一標記,示例如下:

<div class="weui-tab cache" name="index">
 ....
</div>

其次,聲明全局變量,獲取緩存內(nèi)容和容器,示例如下:

var cache;
var cacheId = $(".cache").attr("name");

隨后,在頁面加載時調(diào)用緩存,在離開頁面時生成緩存,代碼如下:

window.onload = function () {
 //載入緩存的列表
 loadCache(cacheId);
}

window.onunload = function () {
 //可以通過needCache這個flag來控制是否需要緩存
 if (localStorage.needCache == 'true') {
  //離開頁面時生成緩存
  createCache(cacheId);
 }
}

/* *
 * @brief 可對指定多個控件進行內(nèi)容和位置的緩存
 * @param cacheId 緩存元素的id
 * @return null
 * */
function createCache(cacheId) {
 //對內(nèi)容進行緩存
 var list = [];
 var listController = $('.cache');
 $.each(listController, function (index, value, array) {
  list.push(value.innerHTML);
 })
 //對瀏覽到的位置進行緩存
 var top = [];
 var topController = $(".cache").find(".top");
 $.each(topController, function (index, value, array) {
  top.push(value.scrollTop);
 })
 //存入sessionstorage中
 sessionStorage.setItem(cacheId, JSON.stringify({
  list: list,
  top: top
 }));
}

/* *
 * @breif 可對指定多個控件加載緩存
 * @param 加載緩存的id
 * @return null
 * */
function loadCache(cacheId) {
 //一定要放在整個js文件最前面
 cache = sessionStorage.getItem(cacheId);
 if (cache) {
  cache = JSON.parse(cache);
  //還原內(nèi)容
  var listController = $('.cache');
  $.each(listController, function (index, value, array) {
   value.innerHTML = cache.list[index];
  })
  //還原位置
  var topController = $(".cache").find(".top");
  $.each(topController, function (index, value, array) {
   value.scrollTop = cache.top[index];
  })
 }
}

大部分都可以直接copy,再根據(jù)你的需要改進一下,就可以很好的使用了。

github傳送地址: https://github.com/JunJieDing666/YouZhiGou

總結(jié)

以上所述是小編給大家介紹的JS返回頁面時自動回滾到歷史瀏覽位置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JavaScript高級程序設(shè)計 XML、Ajax 學(xué)習(xí)筆記

    JavaScript高級程序設(shè)計 XML、Ajax 學(xué)習(xí)筆記

    JavaScript高級程序設(shè)計 XML、Ajax 學(xué)習(xí)筆記,需要的朋友可以參考下。
    2011-09-09
  • js實現(xiàn)base64文件的處理以及下載方法

    js實現(xiàn)base64文件的處理以及下載方法

    Base64是一種將二進制數(shù)據(jù)編碼為ASCII字符的編碼方式,這篇文章主要給大家介紹了關(guān)于js實現(xiàn)base64文件的處理以及下載的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 用js遍歷 table的腳本

    用js遍歷 table的腳本

    js遍歷table的所有元素的代碼,方便我們控制table的所有元素,顏色,樣式等
    2008-07-07
  • js+Html實現(xiàn)表格可編輯操作

    js+Html實現(xiàn)表格可編輯操作

    這篇文章主要為大家詳細介紹了js+Html實現(xiàn)表格可編輯操作,能動態(tài)添加刪除行,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JavaScript使用指針操作實現(xiàn)約瑟夫問題實例

    JavaScript使用指針操作實現(xiàn)約瑟夫問題實例

    這篇文章主要介紹了JavaScript使用指針操作實現(xiàn)約瑟夫問題,實例分析了javascript模擬數(shù)組指針操作的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 微信小程序?qū)崿F(xiàn)搜索功能

    微信小程序?qū)崿F(xiàn)搜索功能

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)搜索功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • element中的$confirm的使用

    element中的$confirm的使用

    這篇文章主要介紹了element中的$confirm的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • JavaScript調(diào)試常見報錯及原因分析

    JavaScript調(diào)試常見報錯及原因分析

    這篇文章主要介紹了JavaScript調(diào)試常見報錯及原因分析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 微信小程序?qū)崿F(xiàn)手指拖動選項排序

    微信小程序?qū)崿F(xiàn)手指拖動選項排序

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)手指拖動選項排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 如何基于JavaScript判斷圖片是否加載完成

    如何基于JavaScript判斷圖片是否加載完成

    這篇文章主要介紹了如何基于JavaScript判斷圖片是否加載完成,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12

最新評論