>  기사  >  웹 프론트엔드  >  이미지 지연 로딩의 예

이미지 지연 로딩의 예

零下一度
零下一度원래의
2017-06-17 14:50:551522검색

타오바오, JD.com 등 대형 쇼핑 사이트를 탐색하다 보면 사진이 자주 등장하는데, 그 사진으로 인해 트래픽이 많이 발생합니다.

웹 페이지를 작성할 때 이 문제를 어떻게 해결합니까? 이때 우리는 이미지의 지연 로딩 문제를 활용해야 합니다. 이는 트래픽 문제를 해결할 수 있을 뿐만 아니라 성능도 향상시킬 수 있습니다.

이미지 로딩 지연 문제를 살펴보겠습니다.

<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>(&#39;img&#39;);//获取所有的元素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(&#39;_src&#39;);  //给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으로 문의하세요.