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

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

对于一些拥有大量图片的网站来说,如果一个页面有超过 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按需加载(懒加载)了。快去自己的网站上试试吧!

评论一下?

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