前端加载之懒加载

简介: 懒加载就是延时加载,也被称为按需加载。

一、懒加载的表现和原理
具体表现为当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张占位图的路径,这样就只需请求一次,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。(即:懒加载就是使用同一张占位图进行占位,然后按需获取图片真正的路径,从而实现懒加载)

技术原理是先将img的src属性隐藏,而将其真正的地址存放在img标签自定义的属性中(eg:data-src),当图片进入可视区域时,将真正的路径从data-src中取出替换回来,从而显示图片。

优点:很多页面,内容很丰富,页面很长,图片较多。比如瀑布流,图片数量多且大,如果一次性加载完毕,用户等待时间过长。 懒加载页面加载速度快、可以减轻服务器的压力、节约了流量,用户体验好。
二、图片懒加载的基本实现
图片的加载是由src引起的,当对src赋值时,浏览器就会请求图片资源。根据这个原理,我们使用HTML5 的data-xxx属性来储存图片的路径,在需要加载图片的时候,将data-src(可自定义)中图片的路径赋值给src,这样就实现了图片的按需加载,即懒加载。
懒加载的实现重点在于确定用户需要加载哪张图片,在浏览器中,可视区域内的资源就是用户需要的资源。所以当图片出现在可视区域时,获取图片的真实地址并赋值给图片即可。


<div class="container">
     <img src="loading.gif"  data-src="pic.png">
     <img src="loading.gif"  data-src="pic.png">
     <img src="loading.gif"  data-src="pic.png">
     <img src="loading.gif"  data-src="pic.png">
     <img src="loading.gif"  data-src="pic.png">
     <img src="loading.gif"  data-src="pic.png">
</div>
<script>
var imgs = document.querySelectorAll('img');
function lozyLoad(){
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
        var winHeight= window.innerHeight;
        for(var i=0;i < imgs.length;i++){
            if(imgs[i].offsetTop < scrollTop + winHeight ){
                imgs[i].src = imgs[i].getAttribute('data-src');
            }
        }
    }
  window.onscroll = lozyLoad();
</script>
相关文章
|
2月前
|
缓存 前端开发 开发者
前端性能优化:提升网页加载速度的最佳实践
【2月更文挑战第8天】 在当今互联网时代,网页的加载速度直接影响着用户体验和网站的流量。本文将介绍前端性能优化的最佳实践,包括减少HTTP请求、压缩资源、使用CDN加速、懒加载等技术手段,帮助开发者提升网页加载速度,提升用户体验。
56 6
|
3月前
|
前端开发 JavaScript UED
前端性能优化:从加载速度到用户体验的技巧大揭秘
在当今互联网时代,用户对于网页加载速度和交互体验的要求越来越高。作为前端开发者,我们应该重视性能优化,通过一系列技巧来提升网页的加载速度、响应速度和用户体验。本文将介绍一些实用的前端性能优化技巧,帮助开发者打造高效、流畅的网页应用。
27 1
|
6月前
|
存储 前端开发 JavaScript
前端实现图片的懒加载
前端实现图片的懒加载
37 0
|
7月前
|
前端开发
前端加载七牛图片地址竖图变成横图问题
前端加载七牛图片地址竖图变成横图问题
62 0
|
7月前
|
存储 前端开发 定位技术
前端加载超大图片实现秒开解决方案
前端加载超大图片实现秒开解决方案
|
8天前
|
缓存 前端开发 JavaScript
如何优化前端网页加载速度:7个实用技巧
在当今互联网时代,网页加载速度对用户体验至关重要。本文将介绍7个实用的技巧,帮助前端开发者优化网页加载速度,提升用户体验。从压缩资源到异步加载,从图片优化到缓存策略,这些技巧将帮助你在前端开发中取得更好的效果。
|
1月前
|
缓存 前端开发 UED
构建高性能Web应用:前端资源优化与加载策略探讨
本文将深入剖析前端资源优化和加载策略,包括减少HTTP请求、使用CDN加速、异步加载、资源压缩等技术手段。通过合理的资源管理和加载策略,可以显著提升Web应用的性能和用户体验。
|
1月前
|
缓存 前端开发 JavaScript
前端性能优化:提升网页加载速度的关键技巧
【2月更文挑战第11天】 在当今互联网高速发展的时代,网页加载速度成为影响用户体验和网站成功的重要因素。本文将深入探讨前端性能优化的关键技巧,包括资源压缩、图片优化、HTTP缓存、代码精简等方面,为前端开发者提供实用的指导和建议。
|
2月前
|
前端开发 JavaScript API
|
2月前
|
前端开发 JavaScript 搜索推荐
前端性能优化:提升网页加载速度的关键技巧
【2月更文挑战第9天】 在当今互联网时代,网页加载速度直接关系到用户体验和网站流量。本文将介绍前端性能优化的关键技巧,包括图片优化、代码压缩、资源合并等方法,帮助开发者提升网页加载速度,提升用户满意度。
17 2