我们在浏览淘宝京东等大型购物网页时会经常出现许多图片而图片需要花费我们非常多的流量问题。
我们在写网页的时候怎么解决这个问题呢?这时候就要用到我们图片懒加载的问题,这样不仅可以
解决流量问题,也提高了性能等等。
下面我们就来看一下图片的懒加载怎么问题。
<span style="font-size: 18px"><!DOCTYPE html></span><br/><span style="font-size: 18px"><html lang="en"></span><br/><span style="font-size: 18px"><head></span><br/><span style="font-size: 18px"> <meta charset="UTF-8"></span><br/><span style="font-size: 18px"> <title>Title</title></span><br/><span style="font-size: 18px"> <style></span><br/><span style="font-size: 18px"> *{</span><br/><span style="font-size: 18px"> margin: 0;</span><br/><span style="font-size: 18px"> <a href="http://www.php.cn/wiki/948.html" target="_blank">padding</a>: 0;</span><br/><span style="font-size: 18px"> <a href="http://www.php.cn/wiki/956.html" target="_blank">list-style-type</a>: none;</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> html,body{</span><br/><span style="font-size: 18px"> width: 100%;</span><br/><span style="font-size: 18px"> height: 100%;</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> #p p{</span><br/><span style="font-size: 18px"> width: 400px;</span><br/><span style="font-size: 18px"> height: 500px;</span><br/><span style="font-size: 18px"> /*border:1px solid #000;*/</span><br/><span style="font-size: 18px"> <a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>: inline-block;</span><br/><span style="font-size: 18px"> margin:10px;</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> img{</span><br/><span style="font-size: 18px"> width: 100%;</span><br/><span style="font-size: 18px"> height: 100%;</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> </style></span><br/><span style="font-size: 18px"> <script></span><br/><span style="font-size: 18px"> // 获取距离父级距离</span><br/><span style="font-size: 18px"> function getPos(obj) {</span><br/><span style="font-size: 18px"> var t=0;//先声明两个变量 用来存储距离上面的高度 距离左边的高度</span><br/><span style="font-size: 18px"> var l=0;</span><br/><span style="font-size: 18px"> while (obj){//循环判断这个元素是否存在,存在才执行这个方法</span><br/><span style="font-size: 18px"> t+=obj.offsetTop; // 加上距离父级的距离</span><br/><span style="font-size: 18px"> l+=obj.offsetLeft;</span><br/><span style="font-size: 18px"> obj=obj.offsetParent;// 有父级让他变成他的父级</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> return {left:l,top:t}; //把值传出去</span><br/><span style="font-size: 18px"> }</span><br/><br/><span style="font-size: 18px"> window.onload=window.onscroll=function () {//滚动的时候和页面加载时执行的一样</span><br/><span style="font-size: 18px"> var aImg=<a href="http://www.php.cn/code/658.html" target="_blank">document</a>.<a href="http://www.php.cn/code/8145.html" target="_blank">getElementsByTagName</a>('img');//获取所有的元素img元素</span><br/><span style="font-size: 18px"> var oSCrollT=document.body.scrollTop || document.documentElement.scrollTop;// 滚动条滚动高度</span><br/><span style="font-size: 18px"> var oClh=document.documentElement.clientHeight;//可视区的高度</span><br/><span style="font-size: 18px"> var oScr=oSCrollT + oClh; // 滚动条高度 + 可视区的高度</span><br/><span style="font-size: 18px"> for(var i=0;i<aImg.length;i++){ //循环所有的img,把它距离页面顶部的距离 和 滚动高度+可视区的高度进行比较</span><br/><span style="font-size: 18px"> if(oScr > getPos(aImg[i]).top){</span><br/><span style="font-size: 18px"> aImg[i].src=aImg[i].getAttribute('_src'); //给src属性赋值</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> }</span><br/><span style="font-size: 18px"> </script></span><br/><span style="font-size: 18px"></head></span><br/><span style="font-size: 18px"><body></span><br/><span style="font-size: 18px"> <p id="p"></span><br/><span style="font-size: 18px"> <p><img _src="img/1.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/2.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/3.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/4.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/5.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/6.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/7.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/8.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/9.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/10.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/11.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/12.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/13.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/14.jpg"></p></span><br/><span style="font-size: 18px"> <p><img _src="img/15.jpg"></p></span><br/><span style="font-size: 18px"> </p></span><br/><span style="font-size: 18px"></body></span><br/><span style="font-size: 18px"></html><br/>今天的内容就到这里,你学会了吗?</span>
以上是关于图片的懒加载的实例讲解的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

在本周的综述中:Firefox获得了类似锁匠的力量,三星的Galaxy Store开始支持Progressive Web Apps,CSS Subgrid正在Firefox发货

在本周的综述中:Internet Explorer进入Edge,Google Search Console吹捧新的速度报告,Firefox提供了Facebook&#039;

盖茨比(Gatsby)进行了出色的处理和处理图像。例如,它可以帮助您节省图像优化的时间,因为您不必手动


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前ByDDD
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)