您的位置:首页 > Web前端 > HTML5

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

2014-08-12 09:26 507 查看
原文:HTML5 五彩圆环Loading加载动画实现教程今天我们要来介绍一款效果很特别的HTML5 Loading加载动画,不像其他的Loading动画,这款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的源代码:源代码下载>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: