html5 app图片预加载

function Laimgload(){}  //图片预加载JS
Laimgload.prototype.winHeight = function(){  //计算页面高度
    var winHeight = 0;
    //获取窗口高度 
    if (window.innerHeight){
        winHeight = window.innerHeight; 
    }else if ((document.body) && (document.body.clientHeight)) {
        winHeight = document.body.clientHeight; 
    }
    return winHeight;
}
Laimgload.prototype.loadImg = function(arr){        //图片预加载执行
        for( var i = 0,len = arr.length; i < len; i++){
            if(arr[i].getBoundingClientRect().top-this.winHeight() < document.documentElement.clientHeight && !arr[i].isLoad){
                 arr[i].isLoad = true;
                 arr[i].style.cssText = "transition: ''; opacity: 0;";
                 if(arr[i].dataset){
                     this.aftLoadImg(arr[i],arr[i].dataset.original);    
                 }else{
                     this.aftLoadImg(arr[i],arr[i].getAttribute("data-original"));
                 }
                 (function(i){
                     setTimeout(function(){
                       arr[i].style.cssText = "transition: 1s; opacity: 1;"
                     },16)
                  })(i);
                }
         }
}
Laimgload.prototype.aftLoadImg = function(obj,url){  //图片地址切换
    var oImg = new Image();
        oImg.src = url;
    if(oImg.complete){
        obj.src = oImg.src;
    }else{
        oImg.onload = function() {
           obj.src = oImg.src;
        };
    }
}

_laimgload = new Laimgload();

/* 图片预加载JS   
 * 把图片<img src="这里放加载中的小图" data-original="这里放图片的路径"/> 然后获取图片集合传入下面调用函数中  获取图片集合jQuery方法  $("#content_id").find("img"); 
 * 调用方法:  _laimgload.loadImg("这里传图片集合");
 * @author     海涛
 * */

 

转载于:https://www.cnblogs.com/haitaoblog/p/5413487.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值