zoukankan      html  css  js  c++  java
  • 第一百五十六节,封装库--JavaScript,延迟加载

    封装库--JavaScript,延迟加载

    延迟加载的好处,就是在浏览器视窗外的图片,不加载,拖动鼠标到浏览器视窗内后加载,用户不看的图片就不用加载,可以减少服务器大量流量

    将图片的src地址用一张统一的图片,这样初始化都加载这张图片,减少流量

    将图片正真的连接地址用另外的属性赋值

    当用户视窗高度加上滚动条高度,大于等于,图片头部与浏览器头部的距离时,将正真的连接地址,改变到src,

    html

    <!--延迟加载-->
        <div id="photo">
            <dl>
                <dt><img xsrc="img/p1.jpg" src="img/wait_load.jpg" class="wait_load" alt="" /></dt>
                <dd>延迟加载图片</dd>
            </dl>
    
            <dl>
                <dt><img xsrc="img/p2.jpg" src="img/wait_load.jpg" class="wait_load" alt="" /></dt>
                <dd>延迟加载图片</dd>
            </dl>
    
            <dl>
                <dt><img xsrc="img/p3.jpg" src="img/wait_load.jpg" class="wait_load" alt="" /></dt>
                <dd>延迟加载图片</dd>
            </dl>
    
            <dl>
                <dt><img xsrc="img/p4.jpg" src="img/wait_load.jpg" class="wait_load" alt="" /></dt>
                <dd>延迟加载图片</dd>
            </dl>
    
            <dl>
                <dt><img xsrc="img/p5.jpg" src="img/wait_load.jpg" class="wait_load" alt="" /></dt>
                <dd>延迟加载图片</dd>
            </dl>
        </div>

    css

    /*延迟加载*/
    #photo {
        width:900px;
        float:left;
    }
    #photo dl {
        width:225px;
        height:270px;
        float:left;
        margin:5px 0 15px 0;
    }
    #photo dl dt {
        width:200px;
        height:250px;
        margin:0 auto;
    }
    #photo dl dd {
        height:25px;
        line-height:25px;
        text-align:center;
    }

    前台js

    //延迟加载
        var wait_load = $('.wait_load');                      //获取所有的图片节点
        wait_load.shzh_tou_ming_du(0);                        //将所有图片设置成透明
        $(window).yuan_su_shi_jian('scroll',_wait_load);
        $(window).yuan_su_shi_jian('resize',_wait_load);
        function _wait_load() {
            setTimeout(function () {                          //延迟100毫秒
                for (var i = 0; i < wait_load.jd_length(); i++) {                        //根据图片的长度来循环
                    var _this = wait_load.hq_jd(i);                                      //获取到每次循环对应的图片对象
                    if(getInner().height + gun_dong_tiao_wei_zhi().top >= ju_li_liu_lan_qi_tou(_this)) {      //判断视窗高度加上滚动条的高度,大于等于,元素头部到浏览器头部距离时
                        $(_this).qh_shu_xing_zhi('src', $(_this).qh_shu_xing_zhi('xsrc')).yi_dong_tou_ming({  //每次循环对应的图片改变src并显示出来
                            attr: 'o',
                            target: 100,
                            t: 30,
                            step: 10
                        });
                    }
                }
            }, 100);
        }

    首先要引入封装库

  • 相关阅读:
    LeetCode 152. 乘积最大子数组 | Python
    LeetCode 31. 下一个排列 | Python
    LeetCode 136. 只出现一次的数字 | Python
    LeetCode 102. 二叉树的层序遍历 | Python
    LeetCode 155. 最小栈 | Python
    LeetCode 69. x 的平方根 | Python
    Python3 高阶函数
    Python3 装饰器
    Python3 递归函数
    Python3 函数
  • 原文地址:https://www.cnblogs.com/adc8868/p/6478496.html
Copyright © 2011-2022 走看看