jquery.lazyload  实现图片延迟加载jquery插件


Posted in Javascript onFebruary 06, 2010

什么是ImageLazyLoad技术
在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。

怎么实现ImageLazyLoad

一、使用JQuery插件 ,插件名: jquery.lazyload(7kb大小),压缩后(3kb大小)

在线压缩js http://closure-compiler.appspot.com/home
虽然是很牛X的特效,不过用JQuery插件只需要短短几句代码,使用过程如下:

1.导入JS插件
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>
2.在你的页面中加入如下的javascript:

$("img").lazyload();

这将会使所有的图片都延迟加载。

当然插件还有几个配置项可供设置。

1.改变threshold

$(“img”).lazyload({ threshold : 200 });

把阀值设置成200 意思就是当图片没有看到之前先load 200像素。

2.当然了你也可以通过设置占位符图片和自定事件来触发加载图片事件

$("img").lazyload({ 
placeholder : "img/grey.gif", 
event : "click" 
});

3.可以通过定义effect 参数来定义一些图片显示效果

$("img").lazyload({ 
placeholder : "img/grey.gif", 
effect : "fadeIn" 
});

LazyLoad(延迟加载)技术不仅仅用在对网页中图片的延迟加载,对数据同样可以,Google Reader和Bing图片搜索就把
LazyLoad技术运用的淋漓尽致;
缺陷:
1.与Ajax技术的冲突;
2.图片的延迟加载,遇到高度特别高的图片,会出现停止加载的问题;
3.写代码不规范的同学要注意了,不管由于什么原因,如果您的页面中,img标签的height属性未定义,那么我建议您最好不要使用ImageLazyLoad

大家可以直接采用淘宝的延迟加载技术:(2kb大小)
http://a.tbcdn.cn/kissy/1.0.0/build/imglazyload/imglazyload-min.js
调用方法也是很简单的:
<script src="http://a.tbcdn.cn/kissy/1.0.0/build/imglazyload/imglazyload-min.js"
type="text/javascript"></script> <script type="text/javascript">// <![CDATA[KISSY.ImageLazyload();// ]]></script>
注:该脚本依赖 yahoo-dom-event, 页面中需要加载 yui 2.x,你也可以直接引用下面的地址:
<script src="http://kissy.googlecode.com/svn/trunk/third-party/yui2/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>

配置参数如下:

<script type="text/javascript"> 
KISSY.ImageLazyload({ 
mod: "manual", // 延迟模式。默认为 auto 
diff: 200 // 当前屏幕下多远处的图片开始延迟加载。默认两屏外的图片才延迟加载 
}); 
</script>

manual 模式时,需要手动将页面中需要延迟加载的图片的 src 属性名更改为 data-lazyload-src. 比如 SRP 页面,宝贝列表的后20个图片延迟加载。 输出时,html 代码为:

<img data-lazy-src="path/to/img" alt="something" />

如果您是Jquery,Prototype等这些JS框架的粉丝,他们都有定制的LazyLoad Plugin提供;

可查看http://www.appelsiini.net/projects/lazyload

LazyLoad(延迟加载)技术不仅仅用在对网页中图片的延迟加载,对数据同样可以,Google Reader和Bing图片搜索就把
LazyLoad技术运用的淋漓尽致;

Javascript 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
May 10 Javascript
js实现数组转换成json
Jun 26 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
Jun 25 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
关于Vue源码vm.$watch()内部原理详解
Apr 26 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
Sep 25 Javascript
微信小程序使用GoEasy实现websocket实时通讯
May 19 Javascript
js实现类选择器和name属性选择器的示例步骤
Feb 07 Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 #Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 #Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
Feb 04 #Javascript
JavaScript学习笔记(十七)js 优化
Feb 04 #Javascript
jQuery生成asp.net服务器控件的代码
Feb 04 #Javascript
javascript两段代码,两个小技巧
Feb 04 #Javascript
JavaScript面向对象之静态与非静态类
Feb 03 #Javascript
You might like
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
Position属性之relative用法
2015/12/14 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
原生js调用json方法总结
2018/02/22 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python操作xml文件详细介绍
2014/06/09 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
行政总经理岗位职责
2013/12/05 职场文书
日语求职信范文
2013/12/17 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS