国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

懶加載方法總結

beita / 2571人閱讀

摘要:一傳統的懶加載有時一個頁面中有多個圖片或視頻要展示如果全部將資源加載顯示會導致頁面暫時空白用戶體驗很不好要改變這種體驗的一種思路是先用一個占位圖片顯示然后在可視窗口展示的內容提前加載保證用戶看到的是已經加載好的圖片等其他占用空間較大的資源例

一.傳統的懶加載

有時一個頁面中有多個圖片或視頻要展示,如果全部將資源加載顯示,會導致頁面暫時空白,用戶體驗很不好,要改變這種體驗的一種思路是先用一個占位圖片顯示,然后在可視窗口展示的內容提前加載,保證用戶看到的是已經加載好的圖片等其他占用空間較大的資源.
例如:

//css代碼:
div image[alt^="picture"] {
    width: 100px;
    height: 100px;
    background: silver;
  }

.img {
   height: 200px;
   width: 400px;
  }
//html代碼
picture1 picture2 picture3 picture4 picture5 picture6
//js代碼 var imgArr = document.getElementsByClassName("img"); var imgHeight = imgArr[0].style.height; var clientHeight = document.documentElement.clientHeight;//獲取網頁可見區域高度 window.onscroll = function() { var scrollTop = document.documentElement.scrollTop;//網頁垂直方向滾動的高度 for (let i = 0; i < imgArr.length; i++) { var offset = imgArr[i].offsetTop;//獲取當前對象到其上級層頂部的距離 var topT = scrollTop - ("200" + offset); var topB = scrollTop + clientHeight - offset; if (topT < 0 && topB > 0) { imgArr[i].src = imgArr[i].getAttribute("data-src"); } else { imgArr[i].src = "./time.gif"; } } }

頁面剛開始如下圖所示,


當滾動鼠標時,圖片陸續顯示

二.微信小程序中的懶加載

微信小程序是監聽目標節點和參照區域相交的狀態來實現懶加載

//wxml代碼:

    懶加載示例
    
        
        
         {{item.title}}
    

//js代碼:
Page({
  data: {
    imgArr: [{
        title: "picture1",
        src: "../../images/timg.gif",
        realSrc: "../../images/1.jpg"
      },
      {
        title: "picture2",
        src: "../../images/timg.gif",
        realSrc: "../../images/2.jpg"
      },
      {
        title: "picture3",
        src: "../../images/timg.gif",
        realSrc: "../../images/3.jpg"
      }, {
        title: "picture4",
        src: "../../images/timg.gif",
        realSrc: "../../images/4.jpg"
      }
    ]
  },
  onLoad(options) {
    var _self = this;
    var obs = wx.createIntersectionObserver(this, { observeAll: true });
    obs.relativeToViewport({ bottom: 100 }).observe(".img", function(res) {
      _self.data.imgArr.forEach(function(item) {
        if (res.dataset.src == item.realSrc) {
          if (res.intersectionRatio > 0) {
            item.src = res.dataset.src;
          } else {
            item.src = "../../images/timg.gif";
          }
          _self.setData({ imgArr: _self.data.imgArr });
        }
      })
    })
  },
})

如圖所示:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/54144.html

相關文章

  • 加載方法總結

    摘要:一傳統的懶加載有時一個頁面中有多個圖片或視頻要展示如果全部將資源加載顯示會導致頁面暫時空白用戶體驗很不好要改變這種體驗的一種思路是先用一個占位圖片顯示然后在可視窗口展示的內容提前加載保證用戶看到的是已經加載好的圖片等其他占用空間較大的資源例 一.傳統的懶加載 有時一個頁面中有多個圖片或視頻要展示,如果全部將資源加載顯示,會導致頁面暫時空白,用戶體驗很不好,要改變這種體驗的一種思路是先用...

    seal_de 評論0 收藏0
  • 使用Webpack的代碼分離實現Vue加載(譯文)

    摘要:當一個的項目體積變得十分龐大的時候,使用的代碼分離功能將,或的代碼進行分離并按需加載,會極大的提高的首屏加載速度。如果我們使用函數在中返回模塊作為載荷,就實現了懶加載。 當一個Vue的項目體積變得十分龐大的時候,使用Webpack的代碼分離功能將Vue Components,routes或Vuex的代碼進行分離并按需加載,會極大的提高App的首屏加載速度。 showImg(https:...

    SmallBoyO 評論0 收藏0
  • Laravel Eloquent中的 加載VS即時加載

    摘要:在本文中,我們將了解中的懶加載和即時加載以及它如何在后臺運行。現在所有的房屋數據和在關系表中的數據都同時加載出來了,查詢的語句的是使用即時加載時僅執行個查詢。總結現在你理解了這個過程,希望它能幫助你理解懶加載和即時加載的用法和基本原理。 Laravel中的Eloquent(ORM)的工作方式很令人驚訝,并提供訪問數據庫的非常簡單的方法。在本文中,我們將了解Laravel Eloquen...

    Keven 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<