• 页面loading:计算图片预加载方法


    HTML部分:

    <div id="loading" class="loading position">
      <div class="spinner">
        <div class="bounce1"></div>
        <div class="bounce2"></div>
        <div class="bounce3"></div>
      </div>
      <p>loading...</p>
    </div>

    <!-- img要带有data-src属性-->

    <img class="" id="" data-src="images/xxx.png" alt="">

    css部分:

    .loading{text-align: center; left:50%; font-size: 30px; z-index: 1;}

    #loading{ 100%; top:45%; margin-left: -50%;}
    .loading p{color: #ff9244; font-weight: bold; font-family: Arial; font-size: 24px; }
    .spinner { margin: 0 auto; 150px; text-align: center; }
    .spinner > div { 30px; height: 30px; background-color:#ff9244; border-radius: 100%; display: inline-block; -webkit-animation: bouncedelay 1.4s infinite ease-in-out; animation: bouncedelay 1.4s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
    .spinner .bounce1 { -webkit-animation-delay: -0.32s; animation-delay: -0.32s; }
    .spinner .bounce2 { -webkit-animation-delay: -0.16s; animation-delay: -0.16s;}
    @-webkit-keyframes bouncedelay {
      0%, 80%, 100% { -webkit-transform: scale(0.0) }
      40% { -webkit-transform: scale(1.0) }
    }
    @keyframes bouncedelay {
      0%, 80%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0);} 
      40% { transform: scale(1.0); -webkit-transform: scale(1.0);}
    }

    JS部分:

    var version='1.0'

    var resourceDir="images/";//存放图片的相对路径
    var loadingImages=[];//存放图片地址的数组
    var TotalImagesJpg=1;//存放jpg图片的总数
    var TotalImagesPng=26;//存放png图片的总数
    if(TotalImagesJpg != 0){
      for(var i=1;i<=TotalImagesJpg;i++){
        loadingImages.push("a"+(i<10?"0"+i:i)+".jpg");
      }
    };
    if(TotalImagesPng != 0){
      for(var i=1;i<=TotalImagesPng;i++){
        loadingImages.push("a"+(i<10?"0"+i:i)+".png");
      }
    }

    loadResources(loadingImages,function (n, i, img) {
      //music();
      $("#loading p").html("loading&nbsp;" + Math.round(i * 100 / n) + "%");
      if (n != i) return;
      $("img").each(function(){
        $(this).attr("src",$(this).data("src")+"?ver="+version);
      });
      //$("#loading").remove();
      //$("#page1").show();
      //init();
    });
    /*
    函数名称:loadResources()
    功 能:图片预加载
    参 数:urls:包含所有图片的数组、
    progress:n=图片总数、i=当前加载第几张、img代表图片地址 
    返回结果:无
    */
    function loadResources(urls, progress) {
      var loadedCount = 0;
      var loaded = function () {
        ++loadedCount;
        if (progress) progress(urls.length, loadedCount, this);
      };
      for (var i = 0; i < urls.length; ++i) {
        if (!urls[i]) {
        loaded();
        return;
      }
      var img = new Image();
      img.onload = loaded;
      img.onabort = loaded;
      img.onerror = loaded;
      img.src = resourceDir + urls[i] + "?ver=" + version;
      }
    };

  • 相关阅读:
    windows下安装redis
    关于 tomcat 集群中 session 共享的三种方法
    利用Nginx做负载均衡
    Spring4 MVC Hibernate4集成
    <mvc:annotation-driven />到底帮我们做了啥
    Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别
    JPA注解指南
    Hibernate与Jpa的关系
    ActiveMQ实现负载均衡+高可用部署方案
    信号接口-视频输出端口介绍
  • 原文地址:https://www.cnblogs.com/Cloudloong/p/9562656.html
Copyright © 2020-2023  润新知