前端学习之图片加载--先加载小图,再加载大图


前言

前端图片加载是一个常见的场景,当图片比较大时会出现加载缓慢的问题,为了提高用户体验,对图片的加载进行优化是有必要的,以下实现图片的优先加载,即准备几多张图片(小、中、大),优先加载小图,等其他图片下载好了再依次加载。

HTML代码如下:

<div class="banner">
            <img src="../../images/case/caseWindFarm/banner-md.png" data-imglg="../../images/case/caseWindFarm/banner-lg.png" alt="">
        </div>

js代码如下:

//banner img 高清加载
    function imgdownLoad(){
        var setImg = function(imgLgUrl) {
            if(imgLgUrl) {
                var imgObject = new Image();
                imgObject.src = imgLgUrl;
                if(imgObject.complete){ //发现缓存则加载缓存
                    $img.attr("src", imgLgUrl);
                    return ;
                }
                imgObject.onload = function(){ //图片加载完成后替换图片
                    $img.attr("src", imgLgUrl);
                }
            }
        }
        $("img").each(function(){
            var $img = $(this);
            var imgLg = $img.attr("data-imglg"); //高清
            var imgMd = $img.attr("data-imgmd"); //中等
            var imgSm = $img.attr("data-imgsm"); //一般
            setImg(imgSm);
            setImg(imgMd);
            setImg(imgLg);
        });
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM