浏览

使用LazyLoad技术延时加载商城图片

发布时间:2013-11-06 22:21:40来源:咔优CARTYOU

分享到:

一般而言,商城一般是展示型的网站,首页和列表页的内容图片会比较多,在加载的时候,原则上是都需要加载,这样一个网页才显示完整,这样就回造成显示慢,不能及时看到效果。如果在页尾需要再加js,那么最后的这些js文件的加载可能会受影响。如何让页面打开速度更快呢?下面咔优CARTYOU在这里与大家分享怎么使用LAZYLOAD延迟加载技术实现图片的延时加载。

看了解下什么是LazyLoad:

Lazyload是通过延迟加载来实现按需加载,达到节省资源,加快浏览速度的目的。
网上也有不少类似的效果,这个Lazyload主要特点是:
支持使用window(窗口)或元素作为容器对象;
对静态(位置大小不变)元素做了大量的优化;
支持垂直、水平或同时两个方向的延迟。 
由于内容比较多,下一篇再介绍图片延迟加载效果。 
兼容:ie6/7/8, firefox 3.5.5, opera 10.10, safari 4.0.4, chrome 3.0

基本原理:

首先要有一个容器对象,容器里面是_elems加载元素集合,用隐藏或替换等方法,停止元素加载内容。然后历遍集合元素,当元素在加载范围内,再进行加载,加载范围一般是容器的视框范围,即浏览者的视觉范围内。当容器滚动或大小改变时,再重新历遍元素判断,如此重复,直到所有元素都加载后就完成。

加载数据:

当容器滚动或大小改变时,就会通过事件绑定(例如scroll/resize)自动执行_load加载程序。如果不能绑定事件(如resize),应手动执行load或resize方法。当容器大小改变(resize)时,还需要先执行_getContainerRect程序获取视框范围。要获取视框范围,一般元素可以通过_getRect方位参数获取程序来获取。

具体使用:

给所有图片定义一个src2属性,当屏幕滚动当前图片位置的时候将src2赋值给src。

示范:

LazyLoad延时加载技术示范

大家试下,如有不明白的,欢迎与CARTYOU探讨!