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 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
使用js操作css实现js改变背景图片示例
Mar 10 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
jQuery遍历DOM节点操作之filter()方法详解
Apr 14 Javascript
修改Jquery Dialog 位置的实现方法
Aug 26 Javascript
js判断所有表单项不为空则提交表单的实现方法
Sep 09 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
Dec 31 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
Aug 30 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 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/09/13 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
Python的requests网络编程包使用教程
2016/07/11 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
给客户的道歉信
2014/01/13 职场文书
十佳大学生事迹材料
2014/01/29 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
企业业务员岗位职责
2014/03/14 职场文书
团代会主持词
2014/04/02 职场文书
海洋科学专业求职信
2014/08/10 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
安全生产月宣传标语
2014/10/06 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
Python 如何安装Selenium
2021/05/06 Python
Python OpenGL基本配置方式
2022/05/20 Python
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle