jquery.lazyload.js 懒加载-程序员宅基地

技术标签: juery  jquery  

http://www.cnblogs.com/tlweb/p/5885716.html

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js

本文转载来源:http://www.w3cways.com/1765.html

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.

在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担.

如何使用:

Lazy Load 依赖于 jQuery. 请将下列代码加入HTML的结尾,也就是</body>前:

 

1
2
< script  type="text/javascript" src="jquery.js"></ script >
< script  type="text/javascript" src="jquery.lazyload.js"></ script >

 

你必须改变图片的标签。图像的地址必须放在data-original属性上。给懒加载图像一个特定的class(例如:lazy)。这样你可以很容易地进行图像插件捆绑。代码如下:

html

1
< img  class="lazy" alt="" width="640" height="480" data-original="img/example.jpg" />

JavaScript

1
2
3
4
$( function () {
 
     $( "img.lazy" ).lazyload();
})

这将使所有 class 为 lazy 的图片将被延迟加载.

TIPS:这里必须设置图片的widthheight,否则插件可能无法正常工作。

设置临界点:

默认情况下图片会出现在屏幕时加载. 如果你想提前加载图片, 可以设置threshold选项, 设置 threshold 为 200 令图片在距离屏幕 200 像素时提前加载.

1
2
3
$( "img.lazy" ).lazyload({
     threshold : 200
});

设置事件来触发加载:

你可以使用jQuery事件,例如clickmouseover。也可以使用自定义事件,如sportyfoobar默认情况下是要等到用户向下滚动并且图像出现在视口中时。只有当用户点击它们才加载图片:

1
2
3
$( "img.lazy" ).lazyload({
     event :  "click"
});

 

使用特效:

默认情况下,插件等待图像完全加载并调用show()。你可以使用任何你想要的效果。下面的代码使用fadeIn (淡入效果)。

1
2
3
$( "img.lazy" ).lazyload({
     effect :  "fadeIn"
});

 

针对不使用JavaScript的情况:

几乎所有浏览器的 JavaScript 都是激活的. 然而可能你仍希望能在不支持 JavaScript 的客户端展示真实图片. 当浏览器不支持 JavaScript 时优雅降级, 你可以将真实的图片片段在写 <noscript> 标签内.

1
2
< imgclass ="lazy"data-original="img/example.jpg" width="640" heigh="480">
< noscript >< imgsrc ="img/example.jpg" width="640" heigh="480"></ noscript >

 

可以通过 CSS 隐藏占位符.

1
2
3
.lazy {
     display none ;
}

在支持 JavaScript 的浏览器中, 你必须在 DOM ready 时将占位符显示出来, 这可以在插件初始化的同时完成.

1
$( "img.lazy" ).show().lazyload();

当图像不连续时

滚动页面的时候, Lazy Load 会循环为加载的图片. 在循环中检测图片是否在可视区域内. 默认情况下在找到第一张不在可见区域的图片时停止循环. 图片被认为是流式分布的, 图片在页面中的次序和 HTML 代码中次序相同. 但是在一些布局中, 这样的假设是不成立的. 不过你可以通过 failurelimit 选项来控制加载行为.

 

1
2
3
$( "img.lazy" ).lazyload({
     failure_limit : 10
});

 

将 failurelimit 设为 10 ,令插件找到 10 个不在可见区域的图片时才停止搜索. 如果你有一个猥琐的布局, 请把这个参数设高一点

加载隐藏的图片

可能在你的页面上埋藏可很多隐藏的图片. 比如插件用在对列表的筛选, 你可以不断地修改列表中各条目的显示状态. 为了提升性能, Lazy Load 默认忽略了隐藏图片. 如果你想要加载隐藏图片, 请将 skip_invisible 设为 false

 

1
2
3
$( "img.lazy" ).lazyload({
     skip_invisible :  false
});

 

下载插件

最新版本 源代码压缩代码. 插件已经在 OSX 的 Safari 5.1, Safari 6, Chrome 20, Firefox 12 浏览器上, Windows 的 Chrome 20, IE 8 and IE 9 浏览器上, 以及 iOS5 (iPhone 和 iPad) 的 Safari 5.1 浏览器上测试过.


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yang295242361/article/details/78328220

智能推荐

linux退出pdf阅读,Ubuntu/Linux 下pdf阅读器Zathura(类vim操作)-程序员宅基地

文章浏览阅读261次。框架 Onboard-引导页样式制作库设置背景图片或者背景movie,然后在它们之上生成数个ViewController,默认是顶部一张图片,下面是标题和详细介绍,最下面是按钮和pagegithub地址https://github.c ...jquery的工具方法isFunction&sol;isArray&sol;isWindow&sol;isNumeric&..._zathura 图形

【个人用】-Vscode安装的插件_vscode日历插件-程序员宅基地

文章浏览阅读337次。自己用的Vscode插件_vscode日历插件

c语言的翻译叫什么_C语言是什么意思_C语言的翻译_音标_读音_用法_例句_爱词霸在线词典...-程序员宅基地

文章浏览阅读584次。全部Using C ++ language, constructs an admittance matrix modify program.使用C++语言, 构建了导纳矩阵修改程序.互联网System uses C language program and shown good readability and portability.系统采用C语言编程,可读性和可移植性强.互联网Check the..._c语言翻译

小程序弹出框详解_小程序底部弹出框组件 掘金-程序员宅基地

文章浏览阅读2.2k次。小程序弹出框详解qjlx: function() { var itemList = ['病假', '事假']; wx.showActionSheet({ itemList: itemList, success: function(res) { console.log(res); console.log(itemList[r..._小程序底部弹出框组件 掘金

图文详解:阿里宠儿RabbitMQ的养成攻略-程序员宅基地

文章浏览阅读522次。今天给大家带来的的是关于RabbitMQ的养成攻略,RabbitMQ 中的 Rabbit 是兔子的意思,就是形容跑的和兔子一样快。是一款轻量级的,支持多种消息传递协议的高可用的消息队列。..._rabbitmq 阿里巴巴

WebView显示的网页在大分辨率屏下被放大 - 密度惹的祸_zoomdensity.close-程序员宅基地

文章浏览阅读1.6k次。例如适合800px宽度的页面,如果通过WebView在1024px的屏幕宽度下显示时,内容(图片)会被放大,整体页面会超出屏幕。 试了将WebView的settings中的缩放都关闭了也不行。 后来发现了WebSettings.ZoomDensity这个设置,并在文档中找到了以下说明: Enum for specifying the WebView's desired _zoomdensity.close

随便推点

找工作笔试面试那些事儿(17)---linux测试题_user.txt 存储用户列表 tab.txt存储表名和用户模版 根据这两个文件,将对应用户和-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏40次。作者:寒小阳时间:2013年9月。出处:http://blog.csdn.net/han_xiaoyang/article/details/11400719。声明:版权所有,转载请注明出处,谢谢。 在对linux基本知识的归纳总结之后,这里是一份linux的测试题。希望能帮助大家复习和熟悉linux知识。一、选择题1.cron 后台常驻程序 (daemon) 用_user.txt 存储用户列表 tab.txt存储表名和用户模版 根据这两个文件,将对应用户和

iOS开发之苹果应用6.1日起需兼容IPv6,那么作为开发者我们需要做些什么呢?【科普IPV6】_软件支持ipv6要做哪些工作-程序员宅基地

文章浏览阅读7k次。我相信现在很多的iOS开发者都知道苹果要求我们提交到App Store的应用必须支持IPv6。 1.提到IPV6相关。 那这个直接就联想到就是关于我们App中网络部的一些内容,是否要进行相应的改变。 首先,解释下什么是ipv6? IPv6是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空_软件支持ipv6要做哪些工作

/usr/local/lib/python3.6/dist-packages/bs4/__init__.py:220: UserWarning: You provided Unicode markup_userwarning: you provided unicode markup but also -程序员宅基地

文章浏览阅读3.4k次。/usr/local/lib/python3.6/dist-packages/bs4/init.py:220: UserWarning: You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.warnings.warn(“You provided Unicode markup but also provided a value for from__userwarning: you provided unicode markup but also provided a value for from_

清华申请退学博士作品:完全用Linux工作_windows linux 清华退学-程序员宅基地

文章浏览阅读2.9k次。按: 尽管我们已经不习惯看长篇大论, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章.2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明确要求退学, 引起社会各界广泛争论. 他创作的长篇文章《完全用Linux工作》, 洋洋两万多字, 从不同角度居高临下的阐述了他眼中Linux完全优越于Windows的各种理由, 这篇文章并不简单的是一_windows linux 清华退学

SmartForms 之二--设计_smartforms style standard paragraph is not filled-程序员宅基地

文章浏览阅读946次。 文章原址为:http://www.cnblogs.com/zhumk/archive/2005/06/04/167904.htmlABAP:SmartForms 之二--设计 报表要求:(见下表)要求:1、不是套打,表格线也需要输出2、每张报表打印8行记录,不足的空白行也需要输出3、按凭证号打印单据,可以连续打印多张报表。 一、创建样式:在创建Form之前,需要创建多种段落_smartforms style standard paragraph is not filled

Hive函数:row_number() over() 、 rank和dense_rank_row_number() over()和rank-程序员宅基地

文章浏览阅读1.4k次。row_number() over()为查询出来的每一行记录生成一个序号。序号从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列。示例:利用row_number函数,对表中的数据根据id进行分组,按照pv倒序排序求最大的pv相关信息。select t.id, t.date, t.pvfrom(selectid,date, pv, row_number() over(partition by id ord_row_number() over()和rank