• HTML5 五彩圆环Loading加载动画实现教程


    今天我们要来介绍一款效果很特别的HTML5 Loading加载动画,不像其他的Loading动画,这款Loading动画颜色很丰富,并且在转圈的时候还有淡入淡出的效果。每一个圆环不停地旋转,从而实现加载动画的效果。首先你可以看看效果演示:

    css3-circle-loading

    你也可以在这里查看在线演示

    下面分享一下这款HTML5 Loading动画的实现过程,主要是HTML代码和CSS3代码,以及初始化的JS代码。

    首先是HTML代码,只定义一个Loading容器,非常简单。

    HTML代码:

    <div id=”hold”></div>

    接下来是CSS代码,主要是定义每一个圆圈的动画效果:

    CSS代码:

    @-webkit-keyframes spin {
      from {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    
      to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
      }
    }
    
    @keyframes spin {
      from {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    
      to {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
      }
    }
    @-webkit-keyframes osc {
      0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        opacity: 0;
      }
    
      50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 1;
      }
    
      100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        opacity: 0;
      }
    }
    @keyframes osc {
      0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        opacity: 0;
      }
    
      50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 1;
      }
    
      100% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        opacity: 0;
      }
    }
    @-webkit-keyframes rainbow {
      0% {
        background: #df2020;
      }
    
      25% {
        background: #80df20;
      }
    
      50% {
        background: #20dfdf;
      }
    
      75% {
        background: #7f20df;
      }
    
      100% {
        background: #df2020;
      }
    }
    @keyframes rainbow {
      0% {
        background: #df2020;
      }
    
      25% {
        background: #80df20;
      }
    
      50% {
        background: #20dfdf;
      }
    
      75% {
        background: #7f20df;
      }
    
      100% {
        background: #df2020;
      }
    }

    最后调用JS实现Loading动画的圆圈不停地转动,并且使圆圈的颜色发生周期性的渐变。

    JS代码如下:

    var num = 7,
        ang = 360/num,
        rad = num*5;
    
    function setup(){
      for(var i=0; i<num; i++){
        var button = document.createElement('div');
        button.className = "dot"+i+" dot";
        button.style.top = rad*Math.cos(ang*i*Math.PI/180)-10+"px";
        button.style.left = rad*Math.sin(ang*i*Math.PI/180)-10+"px";
        button.style.backgroundColor = "hsla("+ang*i+", 50%, 50%, 1)";
    
        button.style.webkitAnimation = 
          "osc 2s ease-in-out infinite "+i/(num/2)+"s, rainbow 8s infinite "+i/(num/2)+"s";
        button.style.animation = 
          "osc 2s ease-in-out infinite "+i/(num/2)+"s, rainbow 8s infinite "+i/(num/2)+"s, spin 1s infinite";
    
        document.getElementById("hold").appendChild(button);
      }
    }

    怎么样,这款HTML5 Loading动画还不错吧。

    另外还有几个不错的Loading动画推荐一下,像这款类似发动机效果的纯CSS3 Loading动画和这款基于jQuery的自定义Loading动画都非常不错。最后提供一下这款HTML5 五彩Loading的源代码:源代码下载>>

  • 相关阅读:
    Linux Shell的18条常用命令整理
    git branch 命令查看分支、删除远程分支、本地分支
    比Xshel更好用的 FinalShell
    Centos7的目录结构
    准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
    代码托管仓库之码云
    包管理工具之Pipenv
    Python的垃圾回收机制
    Django之Models操作
    Python操作数据库实战
  • 原文地址:https://www.cnblogs.com/html5tricks/p/3900490.html
Copyright © 2020-2023  润新知