简单懒加载~

作者: 邢烽朔 | 来源:发表于2017-07-02 17:26 被阅读55次

    <pre>`
    <script>
    judge()
    var clock; //首先买个闹钟
    $(window).on('scroll',function(){ //滚的时候处罚
    if (clock) { //如果有闹钟————炸了
    clearTimeout(clock)
    }
    clock = setTimeout(function(){ //买一个,定时半秒后爆炸
    console.log(1) //打印1(多余测试)
    judge() //执行函数
    },500)
    })
    function judge() {                                              
        $('.container img').each(function(){
                if ( isShow($(this)) && !isLoad($(this)) ) {    // 1.是否显示在视窗 2.是否已加载
                    toLoad($(this))                             // 3.加载它.
                }
        })
    
        function isShow($img) {                             
            var scrollTop = $(window).scrollTop()               //滚动条高度~
            var windowHeight = $(window).height()               //窗口高度(浏览器)
            var offsetTop = $img.offset().top                   //目标偏移高度
            return ( offsetTop < scrollTop + windowHeight && offsetTop > scrollTop)
        }                                                       //目标偏移高度大于滚动条高度..原因(有隐藏的BODY上部分)
                                                                //目标偏移高度小于滚动条高度 + 窗口高度 .这种情况意味出现在视野里
        function isLoad($img) {
            return ( $img.attr('src') === $img.attr('data-src') )// 是否已经加载~
        }
    
        function toLoad($img) {
            $img.attr('src',$img.attr('data-src'))              //  加载
        }
    }
    

    </script>
    `</pre>

    相关文章

      网友评论

        本文标题:简单懒加载~

        本文链接:https://www.haomeiwen.com/subject/bhfocxtx.html