潭州学院网页制作公开课:必用的图片的延时加载技术
- 格式:ppt
- 大小:26.50 KB
- 文档页数:6


javascript实现图⽚延迟加载⽅法汇总(三种⽅法)看到⼀些⼤型⽹站,页⾯如果有很多图⽚的时候,当你滚动到相应的⾏时,当前⾏的图⽚才即时加载的,这样⼦的话页⾯在打开只加可视区域的图⽚,⽽其它隐藏的图⽚则不加载,⼀定程序上加快了页⾯加载的速度,对于⽐较长的页⾯来说,这个⽅案是⽐较好的。
原理是这样:页⾯可见区域以下的图⽚先不加载,等到⽤户向下滚动到图⽚位置时,再进⾏加载。
这样做的好处在哪⾥?——当页⾯有好⼏屏内容时,有可能⽤户只看前⼏屏的内容,这样我们就可以只加载⽤户需要看的图⽚,减少服务器向⽤户浏览器发送图⽚⽂件所产⽣的负荷,下⾯通过三种⽅法给⼤家介绍js实现图⽚延时加载。
js实现图⽚延迟加载⽅法⼀:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>lazyImage2.html</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="this is my page"><meta http-equiv="content-type" content="text/html; charset=UTF-8"><!--<link rel="stylesheet" type="text/css" href="./styles.css" mce_href="styles.css">--></head><body style="text-align:center" mce_style="text-align:center"><p> </p><p> </p><p> </p><p> </p><p> </p><div style="height:1290px;width:800px;border:1px;background:gray;"></div><div style="height:150px;width:800px;border:1px;background:green;"></div><img class="lazy" src="images/sprite.gif" mce_src="images/sprite.gif" alt="images/lazyloadImg.jpg" /><script type="text/javascript"><!--var temp = -1;//⽤来判断是否是向下滚动(向上滚动就不需要判断延迟加载图⽚了)window.onscroll = function() {var imgElements = document.getElementsByTagName("img");var lazyImgArr = new Array();var j = 0;for(var i=0; i<imgElements.length; i++) {if(imgElements[i].className == "lazy"){lazyImgArr[j++] = imgElements[i];}}var scrollHeight = document.body.scrollTop;//滚动的⾼度var bodyHeight = document.body.offsetHeight;//body(页⾯)可见区域的总⾼度if(temp < scrollHeight) {//为true表⽰是向下滚动,否则是向上滚动,不需要执⾏动作。
divcss网页图片延迟加载的方法
我们常常会见到很多网页的图片并不是一打开页面就全部加载的,而是浏览到当前的图片位置才显示出来。
这是怎幺实现出来的呢?大家知道divcss网页图片延迟加载吗?我们积累了一些经验,在此拿出来与大家分享下。
第一步:下载jQuery的程序包,我在网页下面已经提供修改过的,绝对的可用。
适应各个版本的浏览器,还有手机浏览器
第二步,将下载的文件解压放到一个js目录里面
/js/lazyload/grey.gif
/js/lazyload/jquery.js
/js/lazyload/zyload.js
然后在需要用到特效的模板页面中,加上以下调用代码
我的建议是放在head前的最后一行
路径地址自己更改,根据自己模板中的相应规则
第三步:修改zyload.js文件
找到.context img
这个说明下,看仔细了
其中如果去掉.context就剩下img是延迟加载所有图片,根据不同模板作相应改动,比如我这个模板,我只需要内容里的图片延迟加载,所以改
成.context
img,这样只延迟加载.context容器内的图片,否则可能影响到其他图片的加载;。