您现在的位置: 万盛学电脑网 >> 程序编程 >> 网页制作 >> DivCSS教程 >> 正文

网页图片延迟加载技术

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   在站上利用图片延迟加载技术,达到加快网页的加载速度。

  这是我要实现的目的,毕竟手机页面小,加载速度一定要快,但又不想一个图片一页,让用户体验性差。

  下面说下实现的过程。

  网上下载了很多的版本,很多都不能用,几个版本比较,加上改进,我这个版本总算成行,分享给大家。

  网上有很多版本的js,比较复杂,我这里用的是jQuery,更加的方便和快捷。

  首先要下载jQuery的程序包,我在网页下面已经提供修改过的,绝对的可用。

  适应各个版本的浏览器,还有手机浏览器

  第二步,将下载的文件解压放到一个js目录里面

  /js/lazyload/grey.gif

  /js/lazyload/jquery.js

  /js/lazyload/jquery.lazyload.js

  然后在需要用到特效的模板页面中,加上以下调用代码

  我的建议是放在head前的最后一行

  路径地址自己更改,根据自己模板中的相应规则

  第三步:修改jquery.lazyload.js文件

  找到.context img

  这个说明下,看仔细了

  其中如果去掉.context就剩下img是延迟加载所有图片,根据不同模板作相应改动,比如我这个模板,我只需要内容里的图片延迟加载,所以改成.context img,这样只延迟加载.context容器内的图片,否则可能影响到其他图片的加载;

  附上图片延迟加载技术代码下载地址

  lazyload

  最后说下里面的几个参数

  1,用图片提前占位

  placeholder : “img/grey.gif”,

  参数:placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏

  2,载入使用何种效果

  effect : “fadeIn”,

  参数:effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn

  3,提前开始加载

  threshold : 200,

  参数:threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉.

  4,事件触发时才加载

  event : “click”,

  参数:event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试…

  5,对某容器中的图片实现效果

  container: $(“#container”),

  参数:container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片

  6,图片排序混乱时

  failurelimit : 10,

  参数:failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.