图片的懒加载问题

巴扎黑
发布: 2017-06-26 15:18:38
原创
2169人浏览过

我们在浏览淘宝京东等大型购物网页时会经常出现许多图片而图片需要花费我们非常多的流量问题。

我们在写网页的时候怎么解决这个问题呢?这时候就要用到我们图片懒加载的问题,这样不仅可以

解决流量问题,也提高了性能等等。

好用的图片延迟加载效果
好用的图片延迟加载效果

好用的图片延迟加载效果

好用的图片延迟加载效果 27
查看详情 好用的图片延迟加载效果

下面我们就来看一下图片的懒加载怎么问题。

<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">            padding: 0;</span><br/><span style="font-size: 18px">            list-style-type: 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">        #div div{</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">            display: 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=document.getElementsByTagName('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">    <div id="div"></span><br/><span style="font-size: 18px">        <div><img _src="img/1.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/2.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/3.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/4.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/5.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/6.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/7.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/8.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/9.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/10.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/11.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/12.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/13.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/14.jpg"></div></span><br/><span style="font-size: 18px">        <div><img _src="img/15.jpg"></div></span><br/><span style="font-size: 18px">    </div></span><br/><span style="font-size: 18px"></body></span><br/><span style="font-size: 18px"></html><br/>今天的内容就到这里,你学会了吗?</span>
登录后复制

以上就是图片的懒加载问题的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号