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 相关文章推荐
jQuery中读取json文件示例代码
May 10 Javascript
Vuejs第十二篇之动态组件全面解析
Sep 09 Javascript
解析ajaxFileUpload 异步上传文件简单使用
Dec 30 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
May 17 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
vue 自动化路由实现代码
Sep 03 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
全世界最小的php网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
分析python服务器拒绝服务攻击代码
2014/01/16 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
2014迎新年晚会策划方案
2014/02/23 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
房屋质量投诉书
2015/07/02 职场文书
2015年教师节主持词
2015/07/03 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL