小談JS中的預加載與懶加載

預加載是指在網頁全部加載之前,對一些主要內容進行加載,以提供給用戶更好的體驗,減少等待的時間。

懶加載是一種獨特而又強大的數據獲取方法,它能夠在用戶滾動頁面的時候自動獲取更多的數據,而新得到的數據不會影響原有數據的顯示,同時最大程度上減少服務器端的資源耗用。

下面通過代碼來實現預加載與懶加載的功能。
預加載:
css:img{ width:250px; }

html:
<img url="images/1.jpg" src="" />
<img url="images/2.jpg" src="" />
<img url="images/3.jpg" src="" />
<img url="images/4.jpg" src="" />

JS:
// 獲取元素
var imgs = document.getElementsByTagName('img');
// 圖片預加載
for(var i = 0;i<imgs.length; i++){
var img = new Image();
img.index = i;
img.src = imgs[i].getAttribute('url');
//表示圖片已經加載完成
img.onload = function(){
imgs[this.index].src = imgs[this.index].getAttribute('url');
}
}

懶加載:
css:img{ width: 500px;display: block; }

html:
<img src="" url="images/3.jpg">
<img src="" url="images/4.jpg">

JS:
// 獲取圖片
var imgs = document.getElementsByTagName('img')
// 懶加載:什么時候需要,什么時候加載。延遲加載
window.onscroll = function(){
var st = document.documentElement.scrollTop || document.body.scrollTop;
// 當偏移量達到700再進行圖片加載
if (st>700) {
img[2].src = img[0].getAttribute('url');
// img[3].src = img[1].getAttribute('url');
}
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 以下是常用的代碼收集,學習用。轉自豪情博客園 1. PC - js 返回指定范圍的隨機數(m-n之間)的公式 re...
    自由加咖啡閱讀 1,017評論 0 1
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,842評論 2 17
  • 前言 圖片懶加載也是比較常見的一種性能優化的方法,最近在用vue做一個新聞列表的客戶端時也用到了,這里就簡單介紹下...
    ITgecko閱讀 1,335評論 0 10
  • 首先是在img結構中加入“data-xxx”如下: JavaScript部分: var num = d...
    醉死方休丶閱讀 241評論 0 0
  • 1、懶加載 1.什么是懶加載? 懶加載也就是延遲加載。當訪問一個頁面的時候,先把img元素或是其他元素的背景圖片路...
    xiaolizhenzhen閱讀 70,506評論 18 160