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 相关文章推荐
用roll.js实现的图片自动滚动+鼠标触动的特效
Mar 18 Javascript
关于 byval 与 byref 的区别分析总结
Oct 08 Javascript
js如何实现设计模式中的模板方法
Jul 23 Javascript
JavaScript中string对象
Jun 12 Javascript
jquery图片轮播特效代码分享
Apr 20 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
优化Vue中date format的性能详解
Jan 13 Javascript
使用js获取身份证年龄的示例代码
Dec 11 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模板中出现空行解决方法
2011/03/08 PHP
基于php无限分类的深入理解
2013/06/02 PHP
php生成excel列序号代码实例
2013/12/24 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
python调用java的jar包方法
2018/12/15 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
canvas画布实现手写签名效果的示例代码
2019/04/23 HTML / CSS
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
翻译专业应届生求职信
2013/11/23 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
小学课外活动总结
2014/07/09 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
文明上网主题班会
2015/08/14 职场文书
2016年公司新年寄语
2015/08/17 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL