博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的图片懒加载
阅读量:6689 次
发布时间:2019-06-25

本文共 982 字,大约阅读时间需要 3 分钟。

一个简单的图片懒加载

所谓懒加载,是为了提高网页的打开的速度,获得更好用户体验的一种手段。其选择的重要的部分先加载,次要的部分需要的时候再加载。比如一个电商网站,首屏通常有很多的数据,清晰度较高的 banner 或轮播。页面非首屏部分会员很多商品夹杂着大量的图片。这是时候选择懒加载以保证首屏的流畅十分重要。

本文仅仅简单的举例图片的懒加载,是性能优化的入门的篇章,方法比较简单明了,只要有一点 js 基础就一定能看懂。

废话不多说

首先,对于非首屏的图片添加了 class="img-delay" 和 data-src属性,后者用来放置图片原始 url 地址的属性,对于图片本身的 src 属性,可以选择空着,或者添加一个”图片无法显示“的提示性图片,像天猫这样:

这里写图片描述

之后我们需要做的就是,当用户下滑到哪里就显示哪里的图片(提前一点点显示更好,这里不做提前了)

//首先你需要引入一个 jQuery 库//获取需要延迟加载的图片var $picDelay = $(".img-delay");//在 window 上监听滑动事件$(window).scroll(function(){  var scrollTop = $(window).scrollTop();    //滑块划过的距离  var screenHeight = screen.height;     //屏幕浏览器内容部分的高度  //计算每个图片的位置是否符合要求  $picDelay.each(function(idx, ele){    var $ele = $(ele);    //当scrollTop + screenHeight === ele.offsetTop时图片刚好出现上边沿    if(scrollTop + screenHeight >= ele.offsetTop){      $ele.attr("src", $ele.attr("data-src")).removeAttr('data-src').removeClass("img-delay");    }  });  //当所有图片都加载了以后,移除这个事件  if($(".img-delay").length <= 0){    $(window).unbind("scroll");  }});

转载地址:http://nwuoo.baihongyu.com/

你可能感兴趣的文章
DNS服务器维护命令
查看>>
六、用户与权限
查看>>
面向机器学习数据平台的设计与搭建
查看>>
centos6.7 编译安装mysql-5.6.27
查看>>
spring cloud 整合zpkin问题
查看>>
Maven下载慢的解决方案
查看>>
我的友情链接
查看>>
Android 核心分析 之七------Service深入分析
查看>>
Regsvr32使用方法
查看>>
2015/5/2 (一) 浅谈PHP的几个运行模式
查看>>
柱形图Demo
查看>>
static关键字
查看>>
win7控制面板中网络适配器不可见
查看>>
iPhone X的UI设计技巧
查看>>
编辑器
查看>>
马哥笔记第十六天故障排除、trap、sed、awk、bash数组、bash字符串操作
查看>>
在ubuntu系统中配置《汇编语言的编程艺术》开发环境
查看>>
关闭windows的默认共享
查看>>
react开发环境搭建
查看>>
数据库读写分离
查看>>