小谈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,026评论 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