深入研究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简单绑定单个事件的方法示例
Jun 10 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
jquery分页插件pagination使用教程
Oct 23 jQuery
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jQuery 移除事件的方法
Jun 20 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
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php文件操作相关类实例
2015/06/18 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
python 性能提升的几种方法
2016/07/15 Python
wxPython的安装与使用教程
2018/08/31 Python
Python2与Python3的区别实例分析
2019/04/11 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
大学应届毕业生求职信
2014/05/24 职场文书
2015政治思想表现评语
2015/03/25 职场文书
科技活动总结范文
2015/05/11 职场文书
公证书
2019/04/17 职场文书
element多个表单校验的实现
2021/05/27 Javascript
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python
Django中celery的使用项目实例
2022/07/07 Python