深入研究jQuery图片懒加载 lazyload.js使用方法


Posted in jQuery onAugust 16, 2017

lazyload是一个用Javascript编写的jQuery插件,它可以延迟加载长页面中的图片,在浏览器可视区域外的图片将不会被载入,直到用户将它们滚动到它们所在的位置。

跟bootstrap一样,lazyload.js也是依赖于jQuery

<script src="resources/js/jquery-1.8.3.min.js"></script>
<script src="resources/js/jquery.lazyload.min.js"></script>

与之前的图片引入路径不同,真实的图片路径不再是用src属性,而是data-original。src属性用于引入占位符图片(当然,个人更推荐占位符不写在img标签里)。同时,必须设置img的宽度和高度,给每一个懒加载的图片加一个class比如.lazy
四大属性必须同时具备:class   data-original   width  height

<img class="lazy" width="640" height="480" data-original="resources/images/2.jpg">

要想让所有class为lazy的图片懒加载,只需要简单的一行代码就可以

<script src="resources/js/jquery-1.8.3.min.js"></script>
<script src="resources/js/jquery.lazyload.min.js"></script>
<script>
 $('img.lazy').lazyload( );
</script>
</body>
</html>

设置临界点

默认情况下,图片会出现在显示区域时才加载,如果想提前加载图片,可以设置 threshold 选项,比如设置thredshold为200,令图片在距离显示区域200px时提前加载

$('img.lazy').lazyload({
 threshold:200,
});

设置占位符

前面提到过,可以用img标签的src属性引入一个图片,比如loading.gif,替代未进去显示区域的待加载图片,我们同样可以添加 placeholder 选项来实现

$('img.lazy').lazyload({
 placeholder:'resources/images/loading.gif'
});

设置事件来触发加载

可以用jQuery事件如click,mouseover,也可以用自定义事件,默认情况下,是要等到用户向下滚动并且图像出现在显示区域时才触发。比如:只有当用户点击的时候才加载图片

$('img.lazy').lazyload({
 event:'click'
});
深入研究jQuery图片懒加载 lazyload.js使用方法

使用特效

默认情况下,插件等待图像完全加载后调用show()方法来显示图片,我们也可以用一些特效比如:fadeIn

$('img.lazy').lazyload({
 effect:'fadeIn'
});

图片在容器里面

可用在容器可滚动的图片上,例如带滚动条的DIV元素,需要将容器定义为jQuery对象,并作为参数传到初始化方法里面,比如:垂直滚动

#container {
 height: 600px;
 overflow: scroll;
}

<img class="lazy" data-original="img/example.jpg" width="765" height="574">

$("img.lazy").lazyload({  
 effect : "fadeIn",
 container: $("#container")
});

当图片不顺序排列

滚动页面的时候, Lazy Load 会循环的加载图片. 在循环中检测图片是否在可视区域内. 默认情况下在找到第一张不在可见区域的图片时停止循环. 图片被认为是流式分布的, 图片在页面中的次序和 HTML 代码中次序相同. 但是在一些布局中, 这样的假设是不成立的. 不过你可以通过 failurelimit 选项来控制加载行为.

$("img.lazy").lazyload({ 
 failure_limit : 10
});

将 failurelimit 设为 10 令插件找到 10 个不在可见区域的图片是才停止搜索. 如果你有一个猥琐的布局, 请把这个参数设高一点.

加载隐藏图片

可能在你的页面上埋藏可很多隐藏的图片. 比如插件用在对列表的筛选, 你可以不断地修改列表中各条目的显示状态. 为了提升性能, Lazy Load 默认忽略了隐藏图片. 如果你想要加载隐藏图片, 请将 skip_invisible 设为 false

$("img.lazy").lazyload({ 
 skip_invisible : false
});

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持!

jQuery 相关文章推荐
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jquery实现图片上传前本地预览
Apr 28 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
jQuery选择器之子元素选择器详解
Sep 18 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
jQuery实现鼠标滑动切换图片
May 27 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
jQuery中each循环的跳出和结束实例
Aug 16 #jQuery
基于JQuery的Ajax方法使用详解
Aug 16 #jQuery
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 #jQuery
jQuery DOM节点的遍历方法小结
Aug 15 #jQuery
jQuery实现菜单栏导航效果
Aug 15 #jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 #jQuery
You might like
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
关于svn冲突的解决方法
2013/06/21 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
任意位置显示html菜单
2007/02/01 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
javascript基本语法
2016/05/31 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
python中字典(Dictionary)用法实例详解
2015/05/30 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python处理PDF与CDF实例
2020/02/26 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
几个常见的软件测试问题
2016/09/07 面试题
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
美术指导助理求职信
2014/04/20 职场文书
小学生环保倡议书
2014/05/15 职场文书
简单租房协议书范本
2014/08/20 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
大学生实习推荐信
2015/03/27 职场文书
生日祝酒词大全
2015/08/10 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis