对前端而言,提高网页的加载速度非常重要。众所周知,图片是最吃流量的。我们都知道的优化技能是页面加载时只加载首屏页面用到的图片即可,其他的图片资源可以稍后再加载。有一款jquery的lazyload插件便是一个可以实现图片耽搁加载的插件,在用户触发某个条件之后再加载对应的图片资源,这对网站的打开速度有很大提升。
1、插件的采用想法很简朴(依靠jquery):引入lazyloadjs(压缩版才4KB) 2、对我们想要耽搁加载的图片添加lazy样式,用”data-original” 替代图片的引用路径
3、将页面里所有img属性src属性用data-xx取代,当页面滚动直至此图片显露在可视区域时,用js取到该图片的data-xx的值赋给src。
!--对img标签采用--imgclass=lazydata-original=imgexamplejpg !--耽搁加载元素的底细图--divclass=lazydata-original=imgbgjpg4、在JS文件中调用lazyload()想法,具体范例如下。
$(function(){ 可任意抉择你想耽搁加载的目的元素,例如直接采用样式名lazy作为抉择条件 $(imglazy)lazyload({ placeholderimggreygif,占位图 effectfadeIn,加载功效 threshold200,提前加载 eventclick,trigger container$(container),指定容器 failurelimit5产生杂乱时的hack策略 }); });参数的具体说明如下:
参数 | 作用 | 说明 | |||
---|---|---|---|---|---|
placeholder | 占位图片 | 图片路径值,图片加载时占位图自动隐藏 | |||
effect | 图片载入时动画功效 | 值有sho(直接显示),fadeIn(淡入),sleDon(滑入)等jq常用功效 | |||
threshold | 提前开端加载高度 | 数字值,是离需要加载目的的高度如设置为200,表示滚动条在离目的位置还有200的高度时就开端加载图片,避免用户看到图片加载过程 | |||
event | 图片加载trigger | 值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…) | |||
container | 指定容器 | lazyload默认在滚动阅读器滚动条时生效,这个参数可以让你在滚动某DIV的滚动条时执行懒加载 | |||
failurelimit | 提高不乱性 | 若是某一张该被加载的图片未能正确加载,则加载其后的第N张图 | |||