网站图片懒加载如何实现(LazyLoad按需加载)

2019-9-15 / 5 评论 / 11234 阅读

对于一些拥有大量图片的网站来说,如果一个页面有超过 50 张图片,就会造成网站页面加载太慢以及移动端耗费流量太大。为了解决这样的问题,可以使用LazyLoad按需加载,又称懒加载。

LazyLoad按需加载

什么是LazyLoad按需加载
LazyLoad按需加载采用图片按需加载技术,打开页面时只会加载首屏图片。访客往下滚动时才会陆续加载需要展现的图片,这样非常高效,体验舒适。

LazyLoad按需加载实现方法
我们在自己做网站时,也可以实现LazyLoad按需加载,增强网站的用户体验。下面学做网站论坛就来介绍一下LazyLoad按需加载实现方法。(以下会使用到HTML代码,如果对代码不熟悉,可以学习一下html视频教程)

引入LazyLoad按需加载必须的二个文件:jquery.js和jquery.lazyload.js。引入方法很简单,只需将下面的代码放到</head>标签上方即可;

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(function() {
        imgLazyLoad();//初始化
        $(document).scroll(imgLazyLoad); //当滚动条滚动时,扫描需要加载的div

        //扫描需要加载的div
        function imgLazyLoad() {
            $.each($("body img.lazy"), function (i, o) {
                //获取窗口高度
                var windowHeight = $(window).height();  //  windowHeight = windowHeight/2; 设置滚动条在显示屏幕高度2分之1的时候加载图片
                //获取滚动条
                var scrollTop = $(document).scrollTop();
                //先判断是否是加载完的图片 跳出
                if ($(o).attr("src") == $(o).attr("data-original")) {
                    return true;
                } else if ($(o).offset().top <= (scrollTop + windowHeight) && $(o).offset().top >= scrollTop) {//判断div是不是出在可见的位置
                    if ($(o).attr("data-original") != undefined || $(o).attr("data-original") != "undefined") {
                        var ObjectSrc = $(o).attr("data-original");
                        //把pic的值赋给src值
                        $(o).attr("src", ObjectSrc);
                        //css属性改为可见
                        $(o).css("visibility", "visible");
                        //渐变时间和渐变值
                        $(o).fadeTo(1000, 1.00);
                    }
                }
            });
        }
    });
</script>

网站上所有图片都使用以下的格式书写:

<img class="lazy" src="" data-original="图片地址" width="100" height="100" alt="">



在网站的</body>标签上面,放上以下的css代码,来实现LazyLoad按需加载(懒加载);

<style>
    img.lazy{
        visibility: visible;
        opacity: 0.00;
        filter: alpha(opacity=0);
        -moz-opacity: 0.0;
    }
</style>



这样,我们自己在建网站时,也可以轻松实现LazyLoad按需加载(懒加载)了。快去自己的网站上试试吧!

    1. 头像
      密封件产品
      第5楼
      确实不错,来学习下
      回复
    1. 头像
      头条
      第4楼
      文章不错支持一下吧
      回复
    1. 头像
      短信验证码
      地板
      这个有用!加快网页加载速度!
      回复
    1. 头像
      米石文创
      板凳
      现在网速都不错。感觉这种以后都不需要了
      回复
    1. 头像
      托管中心加盟
      沙发
      增加用户体验度,能大大留住用户
      回复