zoukankan      html  css  js  c++  java
  • 【JQuery Zepto插件】图片预加载

    屏幕滚动到图片当前位置加载图片,把图片的真实地址写到data-src属性里即可。

    <img src="占位图" data-src="img/foot.jpg" />
    

      

    ;(function(){
        /*
        图片预加载
        @author liuming
        @demo $('img[data-src]').ImgLoading();   
        */
        $.fn.ImgLoading=function(){
            var aImgs = [],/*缓存图片列表*/
                $win = $(window),
                img,imgTop,
                winH = $win.height(),
                Timmer=null,
                i,
                scrollTop;
    
            $.each($(this),function(){
                aImgs.push(this);
            });
     
            $win.bind('load scroll.ImgLoading',function(){
                if(Timmer){clearTimeout(Timmer);}
                Timmer = setTimeout(eachImg,100);
            });
     
            function eachImg(){
                /*数组为空 清除事件*/
                if(aImgs.length==0){return $win.unbind('scroll.ImgLoading');}
                scrollTop = $win.scrollTop();
                for(i=aImgs.length-1; i>-1; i--){
                    img = $(aImgs[i]);
                    imgTop = img.offset().top;
                    /*判断图片正在屏幕中 */
                    if(scrollTop+winH > imgTop && scrollTop<imgTop+winH){
                        img.attr('src',img.attr('data-src'));
                        aImgs.splice(i,1);
                    }
                }
            }
     
        }
     
    })();
    
    $('img[data-src]').ImgLoading();
    

      

  • 相关阅读:
    sql增删改查-转载
    委托和事件 链接
    三层架构-转载
    ToList()方法
    Invoke--转载
    C# 6.0新特性---语法糖
    索引器
    HBase学习总结(1)
    教程-关于Owner和Parent的区别
    问题-在TreeView使用时,发现选中的树节点会闪烁或消失
  • 原文地址:https://www.cnblogs.com/dtdxrk/p/4072475.html
Copyright © 2011-2022 走看看