跳广场舞的大妈
|
@ -0,0 +1,585 @@
|
||||||
|
@keyframes degs{
|
||||||
|
0%{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
transform: rotate(720deg);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*灯光闪烁*/
|
||||||
|
@keyframes Lighting{
|
||||||
|
0%{
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes scale-body{
|
||||||
|
0%{
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: scale(1.01);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes scale{
|
||||||
|
0%{
|
||||||
|
transform: scale(.9);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform: scale(.91);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes blendmode{
|
||||||
|
0%{
|
||||||
|
mix-blend-mode: color-dodge;
|
||||||
|
}
|
||||||
|
33%{
|
||||||
|
mix-blend-mode: difference;
|
||||||
|
}
|
||||||
|
66%{
|
||||||
|
mix-blend-mode: luminosity;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
mix-blend-mode: color-dodge;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**/
|
||||||
|
@keyframes dancing-left{
|
||||||
|
0%{
|
||||||
|
left: -50px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
5%{
|
||||||
|
left: -40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
left: -30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
15%{
|
||||||
|
left: -20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
20%{
|
||||||
|
left: -10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
25%{
|
||||||
|
left: 0px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
30%{
|
||||||
|
left: 10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
35%{
|
||||||
|
left: 20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
left: 30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
45%{
|
||||||
|
left: 40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
left: 50px;
|
||||||
|
top:0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
55%{
|
||||||
|
left: 40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
left: 30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
65%{
|
||||||
|
left: 20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
70%{
|
||||||
|
left: 10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
75%{
|
||||||
|
left: 0px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
80%{
|
||||||
|
left: -10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
85%{
|
||||||
|
left: -20px;
|
||||||
|
top:10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
left: -30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
95%{
|
||||||
|
left: -40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
left: -50px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes dancing-right{
|
||||||
|
0%{
|
||||||
|
right: -50px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
5%{
|
||||||
|
right: -40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
right: -30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
15%{
|
||||||
|
right: -20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
20%{
|
||||||
|
right: -10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
25%{
|
||||||
|
right: 0px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
30%{
|
||||||
|
right: 10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
35%{
|
||||||
|
right: 20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
right: 30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
45%{
|
||||||
|
right: 40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
right: 50px;
|
||||||
|
top:0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
55%{
|
||||||
|
right: 40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
right: 30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
65%{
|
||||||
|
right: 20px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
70%{
|
||||||
|
right: 10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
75%{
|
||||||
|
right: 0px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
80%{
|
||||||
|
right: -10px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
85%{
|
||||||
|
right: -20px;
|
||||||
|
top:10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
right: -30px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
95%{
|
||||||
|
right: -40px;
|
||||||
|
top: 10px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
right: -50px;
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes dancing-down{
|
||||||
|
0%{
|
||||||
|
top: -20px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
25%{
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
top: -20px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
top: -100px;
|
||||||
|
transform:rotateY(720deg);
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
top: -20px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
75%{
|
||||||
|
top: 0px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
top: -20px;
|
||||||
|
transform:rotateY(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes dancing-Wobble{
|
||||||
|
from{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:rotate(-20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
20%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
30%{
|
||||||
|
transform:rotate(-20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
transform:rotate(-20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
70%{
|
||||||
|
transform:rotate(-20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
80%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:rotate(-20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes dancing-Wobble-right{
|
||||||
|
from{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:rotate(20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
20%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
30%{
|
||||||
|
transform:rotate(20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
transform:rotate(20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
70%{
|
||||||
|
transform:rotate(20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
80%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:rotate(20deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:79px 108px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes dancing-UP{
|
||||||
|
from{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:scale(1.1,1.1)
|
||||||
|
}
|
||||||
|
20%{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
30%{
|
||||||
|
transform:scale(1.1,1.1)
|
||||||
|
}
|
||||||
|
40%{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
transform:scale(1.1,1.1)
|
||||||
|
}
|
||||||
|
60%{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
70%{
|
||||||
|
transform:scale(1.1,1.1)
|
||||||
|
}
|
||||||
|
80%{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:scale(1.1,1.1)
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform:scale(1,1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*镜头拉近*/
|
||||||
|
@keyframes scale-left{
|
||||||
|
0{
|
||||||
|
transform:scale(1,1);
|
||||||
|
transform-origin:left 90%;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:left 90%;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:right 90%;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform-origin:right 90%;
|
||||||
|
transform:scale(1,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes scale-right{
|
||||||
|
0{
|
||||||
|
transform:scale(1,1);
|
||||||
|
transform-origin:right 90%;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:right 90%;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:left 90%;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform-origin:left 90%;
|
||||||
|
transform:scale(1,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes scale-bottom-right{
|
||||||
|
0{
|
||||||
|
transform:scale(1,1);
|
||||||
|
transform-origin:right 200%;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:right 200%;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:left 200%;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform-origin:left 200%;
|
||||||
|
transform:scale(1,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes scale-bottom-left{
|
||||||
|
0{
|
||||||
|
transform:scale(1,1);
|
||||||
|
transform-origin:left 200%;
|
||||||
|
}
|
||||||
|
10%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:left 200%;
|
||||||
|
}
|
||||||
|
90%{
|
||||||
|
transform:scale(1.4,1.4);
|
||||||
|
transform-origin:right 200%;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform-origin:right 200%;
|
||||||
|
transform:scale(1,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes Wobble{
|
||||||
|
from{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:22px 60px;
|
||||||
|
}
|
||||||
|
25%{
|
||||||
|
transform:rotate(30deg);
|
||||||
|
transform-origin:right bottom;
|
||||||
|
transform-origin:22px 60px;
|
||||||
|
}
|
||||||
|
50%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:right bottom;
|
||||||
|
transform-origin:22px 60px;
|
||||||
|
}
|
||||||
|
75%{
|
||||||
|
transform:rotate(-30deg);
|
||||||
|
transform-origin:right bottom;
|
||||||
|
transform-origin:22px 60px;
|
||||||
|
}
|
||||||
|
100%{
|
||||||
|
transform:rotate(0deg);
|
||||||
|
transform-origin:22px 60px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*人物行走*/
|
||||||
|
@keyframes run-right-bottom{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(300px,100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-left-bottom{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(-300px,100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-right-top{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(300px,-100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-left-top{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(-300px,-100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-right{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(300px,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-left{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(-300px,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-top{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(0px,-100px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes run-bottom{
|
||||||
|
from{
|
||||||
|
transform:translate(0,0);
|
||||||
|
}
|
||||||
|
to{
|
||||||
|
transform:translate(0px,100px);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,402 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
/* CSS Document */
|
||||||
|
/*公用代码*/
|
||||||
|
html, body {
|
||||||
|
background: none repeat scroll 0 0;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
color: black;
|
||||||
|
font: 12px arial,verdana;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, button {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
label input {
|
||||||
|
text-shadow: none;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
*{
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
a{
|
||||||
|
transition: all .5s;
|
||||||
|
-moz-transition: all .5s;
|
||||||
|
-webkit-transition: all .5s;
|
||||||
|
}
|
||||||
|
a:link, a:visited {
|
||||||
|
text-decoration: none;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
a:hover, a:active,a:focus,*:hover{
|
||||||
|
text-decoration: none;
|
||||||
|
text-shadow: none;
|
||||||
|
transition: all .5s;
|
||||||
|
-moz-transition: all .5s;
|
||||||
|
-webkit-transition: all .5s;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
border: 0 none;
|
||||||
|
max-width:100%;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
ul li {
|
||||||
|
list-style: none outside none;
|
||||||
|
}
|
||||||
|
input, textarea, select {
|
||||||
|
outline: medium none;
|
||||||
|
}
|
||||||
|
.f-l{
|
||||||
|
float: left;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.f-r{
|
||||||
|
float: right;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.t-l{
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.t-c{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.t-r{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.top10{
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.top20{
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.top30 {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
.top40 {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
.top50{
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
.top60{
|
||||||
|
margin-top: 60px;
|
||||||
|
}
|
||||||
|
.top70{
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
|
.top80 {
|
||||||
|
margin-top: 80px;
|
||||||
|
}
|
||||||
|
/*人物动作*/
|
||||||
|
.dancing-left{
|
||||||
|
animation:dancing-left 2s linear infinite forwards;
|
||||||
|
}
|
||||||
|
.dancing-right{
|
||||||
|
animation:dancing-right 2s linear infinite forwards;
|
||||||
|
}
|
||||||
|
.dancing-down{
|
||||||
|
animation:dancing-down 2s linear infinite forwards;
|
||||||
|
}
|
||||||
|
.dancing-Wobble{
|
||||||
|
animation:dancing-Wobble 1s linear infinite forwards;
|
||||||
|
}
|
||||||
|
.dancing-Wobble-right{
|
||||||
|
animation:dancing-Wobble-right 1s linear infinite forwards;
|
||||||
|
}
|
||||||
|
.dancing-UP{
|
||||||
|
animation:dancing-UP 1s linear infinite forwards;
|
||||||
|
}
|
||||||
|
/*人物行走*/
|
||||||
|
.run-right{
|
||||||
|
animation:run-right 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-left{
|
||||||
|
animation:run-left 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-top{
|
||||||
|
animation:run-top 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-bottom{
|
||||||
|
animation:run-bottom 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-right-bottom{
|
||||||
|
animation:run-right-bottom 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-left-bottom{
|
||||||
|
animation:run-left-bottom 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-right-top{
|
||||||
|
animation:run-right-top 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
.run-left-top{
|
||||||
|
animation:run-left-top 2s linear normal forwards;
|
||||||
|
}
|
||||||
|
/*镜头拉近*/
|
||||||
|
.scale-left{
|
||||||
|
animation: scale-left 8s linear normal;
|
||||||
|
}
|
||||||
|
.scale-right{
|
||||||
|
animation: scale-right 8s linear normal;
|
||||||
|
}
|
||||||
|
.scale-bottom-right{
|
||||||
|
animation: scale-bottom-right 8s linear normal;
|
||||||
|
}
|
||||||
|
.scale-bottom-left{
|
||||||
|
animation: scale-bottom-left 8s linear normal;
|
||||||
|
}
|
||||||
|
/**/
|
||||||
|
body{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: url(../image/img_01.png) no-repeat;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.Lighting{
|
||||||
|
position: fixed;
|
||||||
|
z-index: 99;
|
||||||
|
background-image: url(../image/img_03.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
top: 0;
|
||||||
|
animation: Lighting .3s linear infinite;
|
||||||
|
}
|
||||||
|
.ground-light{
|
||||||
|
z-index: 1;
|
||||||
|
position: fixed;
|
||||||
|
top:-100px;
|
||||||
|
left: 50%;
|
||||||
|
width:1440px;
|
||||||
|
height: 1440px;
|
||||||
|
transform:rotateX(69deg) scale(1.3,1.3);
|
||||||
|
margin-left: -720px;
|
||||||
|
animation:blendmode 20s linear infinite;
|
||||||
|
transform:
|
||||||
|
}
|
||||||
|
.ground-light .ground-animate{
|
||||||
|
background-image: url(../image/img_02.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
width:1440px;
|
||||||
|
height: 1440px;
|
||||||
|
animation: degs 6s linear infinite;
|
||||||
|
}
|
||||||
|
/*舞台*/
|
||||||
|
.stage .video{
|
||||||
|
width: 450px;
|
||||||
|
height: 252px;
|
||||||
|
margin: 20px auto 0;
|
||||||
|
background-color: #000;
|
||||||
|
border: 4px solid #bab6ba;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.stage .video video{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.stage .sound{
|
||||||
|
width:1178px;
|
||||||
|
height: 347px;
|
||||||
|
margin: 0 auto;
|
||||||
|
position: relative;
|
||||||
|
margin-top: -220px;
|
||||||
|
}
|
||||||
|
.stage .sound img{
|
||||||
|
width: 100%;
|
||||||
|
animation: scale .4s linear infinite;
|
||||||
|
}
|
||||||
|
.stage .leading{
|
||||||
|
width: 203px;
|
||||||
|
position: relative;
|
||||||
|
margin: -250px auto 0;
|
||||||
|
}
|
||||||
|
.stage .leading .leading-dancer{
|
||||||
|
width: 120px;
|
||||||
|
height: 155px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: url(../image/img_04.png) no-repeat center;
|
||||||
|
background-size: 120px 155px;
|
||||||
|
z-index: 8;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.stage .leading .table{
|
||||||
|
margin-top: -25px;
|
||||||
|
}
|
||||||
|
.stage .leading .table img{
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.stage .leading .table .name{
|
||||||
|
color: #ffd800;
|
||||||
|
font-size: 20px;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: -45px;
|
||||||
|
}
|
||||||
|
.speak{
|
||||||
|
position: fixed;
|
||||||
|
height: 35px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-size: 14px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 30px;
|
||||||
|
margin: -48px auto 0;
|
||||||
|
padding: 0 10px;
|
||||||
|
border: 2px solid #000000;
|
||||||
|
z-index: 9;
|
||||||
|
min-width:80px;
|
||||||
|
}
|
||||||
|
.speak::after{
|
||||||
|
background: url(../image/icon_04.png) no-repeat;
|
||||||
|
background-size: 18px ;
|
||||||
|
width: 37px;
|
||||||
|
height: 28px;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left:30px;
|
||||||
|
margin-left: 0px;
|
||||||
|
bottom: -27px;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
.speak.speak-pink{
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
font-size: 24px;
|
||||||
|
background: #ff0084;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: -78px auto 0;
|
||||||
|
}
|
||||||
|
.speak.speak-pink::after{
|
||||||
|
background: url(../image/icon_03.png) no-repeat;
|
||||||
|
left:60px;
|
||||||
|
}
|
||||||
|
.types{
|
||||||
|
font-size: 24px;
|
||||||
|
width: 700px;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 101;
|
||||||
|
left: 30px;
|
||||||
|
top: 30px;
|
||||||
|
}
|
||||||
|
.types .name{
|
||||||
|
font-weight: bolder;
|
||||||
|
color: #ffd800;
|
||||||
|
-webkit-text-stroke: 0.5px black;
|
||||||
|
}
|
||||||
|
.types .list{
|
||||||
|
margin-top: 10px;
|
||||||
|
font-weight: bolder;
|
||||||
|
color: #ff0084;
|
||||||
|
-webkit-text-stroke: 0.5px black;
|
||||||
|
}
|
||||||
|
/*舞池*/
|
||||||
|
.dance-floor{
|
||||||
|
width:100% ;
|
||||||
|
height: calc(100vh - 410px);
|
||||||
|
position: absolute;
|
||||||
|
left: 0px;
|
||||||
|
z-index: 1;
|
||||||
|
animation: scale-body .4s linear infinite;
|
||||||
|
}
|
||||||
|
.dance-people{
|
||||||
|
position: absolute;
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
.dance-people .people-img{
|
||||||
|
width: 90px;
|
||||||
|
height: 90px;
|
||||||
|
background-size: 90px 90px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
padding-top: 90px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.dance-people .people-img01{
|
||||||
|
background-image: url(../image/img_05.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-img02{
|
||||||
|
background-image: url(../image/img_06.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-img03{
|
||||||
|
background-image: url(../image/img_07.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-img04{
|
||||||
|
background-image: url(../image/img_08.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-img05{
|
||||||
|
background-image: url(../image/img_09.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-img06{
|
||||||
|
background-image: url(../image/img_10.png);
|
||||||
|
}
|
||||||
|
.dance-people .people-name{
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ffd800;
|
||||||
|
-webkit-text-stroke: 0.5px black;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
/*荧光棒*/
|
||||||
|
.stick{
|
||||||
|
background-size: 57px 81px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
position: absolute;
|
||||||
|
height:81px;
|
||||||
|
width:57px;
|
||||||
|
animation: Wobble 2s linear infinite;
|
||||||
|
}
|
||||||
|
.stick.stick-01{
|
||||||
|
background-image: url(../image/img_11.png);
|
||||||
|
}
|
||||||
|
.stick.stick-02{
|
||||||
|
background-image: url(../image/img_12.png);
|
||||||
|
}
|
||||||
|
.stick.stick-03{
|
||||||
|
background-image: url(../image/img_13.png);
|
||||||
|
}
|
||||||
|
.stick.stick-04{
|
||||||
|
background-image: url(../image/img_14.png);
|
||||||
|
}
|
||||||
|
.stick.stick-05{
|
||||||
|
background-image: url(../image/img_15.png);
|
||||||
|
}
|
||||||
|
/*荧光棒定位*/
|
||||||
|
.dance-people .people-img01 .stick{
|
||||||
|
top: 14px;
|
||||||
|
right: -3px;
|
||||||
|
}
|
||||||
|
.dance-people .people-img02 .stick{
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.dance-people .people-img03 .stick{
|
||||||
|
top: -10px;
|
||||||
|
right: -27px;
|
||||||
|
}
|
||||||
|
.dance-people .people-img04 .stick{
|
||||||
|
top: 0px;
|
||||||
|
right: -22px;
|
||||||
|
}
|
||||||
|
.dance-people .people-img05 .stick{
|
||||||
|
top: -8px;
|
||||||
|
right: -20px;
|
||||||
|
}
|
||||||
|
.dance-people .people-img06 .stick{
|
||||||
|
top: -3px;
|
||||||
|
right: -15px;
|
||||||
|
}
|
||||||
|
.paper-canvas{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.dn{
|
||||||
|
display: none;
|
||||||
|
}
|
|
@ -0,0 +1,140 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title></title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/animate.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/style.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="css/style-jq.css" />
|
||||||
|
<script src="js/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="./js/custom.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<body class=""><!--增加 class=" scale-right" 可使用从右向左镜头效果scale-left scale-bottom-left scale-bottom-right -->
|
||||||
|
<!--灯光-->
|
||||||
|
<div class="Lighting">
|
||||||
|
</div>
|
||||||
|
<!--地面灯光-->
|
||||||
|
<div class="ground-light">
|
||||||
|
<div class="ground-animate"></div>
|
||||||
|
</div>
|
||||||
|
<!--舞台背景-->
|
||||||
|
<div class="stage">
|
||||||
|
<div class="video" >
|
||||||
|
<video id="mousedown" autoplay muted src="image/vd.mp4" ></video>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
document.body.addEventListener('mousedown', function(){
|
||||||
|
var vdo = $("video")[0]; //jquery
|
||||||
|
vdo.muted = false;
|
||||||
|
}, false);
|
||||||
|
</script>
|
||||||
|
<!---->
|
||||||
|
<div class="sound">
|
||||||
|
<img src="image/icon_02.png" />
|
||||||
|
</div>
|
||||||
|
<div class="leading">
|
||||||
|
<div class="speak speak-pink">
|
||||||
|
一起:起来嗨!
|
||||||
|
</div>
|
||||||
|
<div class="leading-dancer dancing-right">
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<img src="image/icon_01.png" />
|
||||||
|
<p class="name">当前领舞:9527</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--大航海介绍-->
|
||||||
|
<div class="types">
|
||||||
|
<!-- <div class="name">
|
||||||
|
<p>送任意电池可获得荧光棒!<br />
大航海排名前三可成为领舞!<br />
领舞特权:切歌,镜头,统一动作”跳跃,旋转,向左,向右”,
一起喊“任意文字”,一起嗨:会下纸片
|
||||||
|
</p>
|
||||||
|
</div> -->
|
||||||
|
<div class="list">
|
||||||
|
<p>1:最炫民族风</p>
<p>2:爱情买卖</p>
<p>3:两只蝴蝶</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--舞池-->
|
||||||
|
|
||||||
|
<!--当前移动动作:run-right,run-left,run-right-top,run-left-top,run-right-bottom,run-left-bottom-->
|
||||||
|
<!--当前舞池动作: dancing-left, dancing-right,dancing-down,dancing-UP,dancing-Wobble,dancing-Wobble-right-->
|
||||||
|
<div class="dance-floor">
|
||||||
|
<!-- <div class="dance-people" style="top: 40%; left: 50%;">
|
||||||
|
<div class="people-img people-img02 dancing-UP">
|
||||||
|
<div class="stick stick-02">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div class="dance-people" style="top: 30%; left: 20%;">
|
||||||
|
<div class="speak ">
|
||||||
|
切歌,镜头,统一动作”跳跃,旋转,向左,向右”,
|
||||||
|
</div>
|
||||||
|
<div class="people-img people-img01 dancing-left">
|
||||||
|
<div class="stick stick-01 ">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="people-name ">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dance-people" style="top: 40%; left: 50%;">
|
||||||
|
<div class="people-img people-img02 dancing-down">
|
||||||
|
<div class="stick stick-02">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dance-people" style="top: 20%; left: 40%;">
|
||||||
|
<div class="people-img people-img03 dancing-right">
|
||||||
|
<div class="stick stick-03">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div class="dance-people" style="top: 26%; left: 60%;">
|
||||||
|
<div class="people-img people-img04 dancing-UP">
|
||||||
|
<div class="stick stick-04">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dance-people" style="top: 56%; left: 60%;">
|
||||||
|
<div class="people-img people-img05 dancing-Wobble">
|
||||||
|
<div class="stick stick-05">
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dance-people" style="top: 55%; left: 30%;">
|
||||||
|
<div class="people-img people-img06 dancing-Wobble-right">
|
||||||
|
<div class="stick stick-01">
|
||||||
|
</div>
|
||||||
|
<div class="people-name">
|
||||||
|
内有猛犬小心
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--舞池 end-->
|
||||||
|
<!--小纸片氛围js-->
|
||||||
|
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<!--小纸片氛围js-->
|
||||||
|
</body>
|
||||||
|
</html>
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 579 B |
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 318 KiB |
After Width: | Height: | Size: 671 KiB |
After Width: | Height: | Size: 186 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 469 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.4 KiB |
|
@ -0,0 +1,106 @@
|
||||||
|
// 总条数
|
||||||
|
var num = 0;
|
||||||
|
var timer = null;
|
||||||
|
var actionTimer = null;
|
||||||
|
// 粉丝的昵称
|
||||||
|
var nameArr = ['鹅鹅鹅鹅鹅鹅','打嗝','旋风腿儿','霹雳腿儿','老寒腿儿','哇咔咔蹦跶'];
|
||||||
|
// 粉丝说的话
|
||||||
|
var sayArr = ['没人','内容','空空风','美女姐姐','小阔爱','老阔爱'];
|
||||||
|
// 动作
|
||||||
|
var actionArr = ['dancing-left','dancing-right','dancing-down','dancing-UP','dancing-Wobble','dancing-Wobble-right'];
|
||||||
|
var peopleId = 0;
|
||||||
|
// 集体舞
|
||||||
|
function allDancing(){
|
||||||
|
actionArr.forEach((item,index)=>{
|
||||||
|
var chooseIdex = Math.floor(Math.random()*num);
|
||||||
|
var haveDan = $(`.people-img`).is(`.${item}`);
|
||||||
|
if(haveDan){
|
||||||
|
$(`.people-img`).removeClass(item);
|
||||||
|
$(`.people-img`).addClass(actionArr[Math.floor(Math.random()*actionArr.length)]);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
setTimeout(()=>{
|
||||||
|
console.log('关闭集体舞');
|
||||||
|
clearInterval(actionTimer);
|
||||||
|
},3000)
|
||||||
|
}
|
||||||
|
// 随机舞
|
||||||
|
function randomDancing(){
|
||||||
|
actionTimer = setInterval(()=>{
|
||||||
|
var len = $('.dance-people').length;
|
||||||
|
for (var i = 0; i < num; i++) {
|
||||||
|
actionArr.forEach((item,index)=>{
|
||||||
|
// var chooseIdex = Math.floor(Math.random()*num);
|
||||||
|
var haveDan = $(`.data${i} .people-img`).is(`.${item}`);
|
||||||
|
if(haveDan){
|
||||||
|
$(`.data${i} .people-img`).removeClass(item);
|
||||||
|
$(`.data${i} .people-img`).addClass(actionArr[Math.floor(Math.random()*actionArr.length)]);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},3000)
|
||||||
|
}
|
||||||
|
// 关闭说话
|
||||||
|
function closeSay(index){
|
||||||
|
$(`.data${index} .speak`).addClass("dn");
|
||||||
|
}
|
||||||
|
// 开启说话
|
||||||
|
function sayIng(index){
|
||||||
|
$(`.data${index} .speak`).removeClass("dn");
|
||||||
|
setTimeout(()=>{
|
||||||
|
closeSay(index);
|
||||||
|
},3000)
|
||||||
|
}
|
||||||
|
function peopleObj(name,say,action){
|
||||||
|
// 开始说话
|
||||||
|
sayIng(peopleId);
|
||||||
|
let yspHtml = '';
|
||||||
|
let yspData = [
|
||||||
|
{
|
||||||
|
id:peopleId++,
|
||||||
|
top:`${Math.random()*80+1}%`,
|
||||||
|
left:`${Math.random()*90+1}%`,
|
||||||
|
name:name,//用户名
|
||||||
|
say:say,//说话内容
|
||||||
|
peopleImg:`people-img0${Math.floor(Math.random()*6+1)}`,//人物图片
|
||||||
|
ying_guang:`stick-0${Math.floor(Math.random()*5+1)}`,//荧光棒
|
||||||
|
dancin:action
|
||||||
|
}
|
||||||
|
]
|
||||||
|
$.each(yspData, function (commentIndex, comment) {
|
||||||
|
yspHtml += `
|
||||||
|
<div class="dance-people data${comment.id}" style="top: ${comment.top}; left: ${comment.left};">
|
||||||
|
<div class="speak ">${comment.say}${comment.id}</div>
|
||||||
|
<div class="people-img ${comment.peopleImg} ${comment.dancin}">
|
||||||
|
<div class="stick ${comment.ying_guang}"></div>
|
||||||
|
<div class="people-name ">${comment.name}</div>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
|
});
|
||||||
|
$('.dance-floor').prepend(yspHtml);
|
||||||
|
setTimeout(()=>{
|
||||||
|
closeSay(num);
|
||||||
|
},3000);
|
||||||
|
}
|
||||||
|
$(function(){
|
||||||
|
// setTimeout(()=>{
|
||||||
|
// console.log('开始集体舞');
|
||||||
|
// allDancing();
|
||||||
|
// },50000)
|
||||||
|
setTimeout(()=>{
|
||||||
|
console.log('开启随机舞')
|
||||||
|
randomDancing();
|
||||||
|
},4000)//需要2s的倍数
|
||||||
|
timer = setInterval(()=>{
|
||||||
|
var nameIndex = Math.floor(Math.random()*nameArr.length);
|
||||||
|
var sayIndex = Math.floor(Math.random()*sayArr.length);
|
||||||
|
var actionIndex = Math.floor(Math.random()*actionArr.length);
|
||||||
|
num++;
|
||||||
|
if(num==300){
|
||||||
|
clearInterval(timer);
|
||||||
|
} else {
|
||||||
|
peopleObj(nameArr[nameIndex],sayArr[sayIndex],actionArr[actionIndex]);
|
||||||
|
}
|
||||||
|
},1000)
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,170 @@
|
||||||
|
/*纸屑特效*/
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||||
|
|
||||||
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
|
var Progress = function () {
|
||||||
|
function Progress() {
|
||||||
|
var param = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
|
||||||
|
|
||||||
|
_classCallCheck(this, Progress);
|
||||||
|
|
||||||
|
this.timestamp = null;
|
||||||
|
this.duration = param.duration || Progress.CONST.DURATION;
|
||||||
|
this.progress = 0;
|
||||||
|
this.delta = 0;
|
||||||
|
this.progress = 0;
|
||||||
|
this.isLoop = !!param.isLoop;
|
||||||
|
|
||||||
|
this.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
Progress.prototype.reset = function reset() {
|
||||||
|
this.timestamp = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
Progress.prototype.start = function start(now) {
|
||||||
|
this.timestamp = now;
|
||||||
|
};
|
||||||
|
|
||||||
|
Progress.prototype.tick = function tick(now) {
|
||||||
|
if (this.timestamp) {
|
||||||
|
this.delta = now - this.timestamp;
|
||||||
|
this.progress = Math.min(this.delta / this.duration, 1);
|
||||||
|
|
||||||
|
if (this.progress >= 1 && this.isLoop) {
|
||||||
|
this.start(now);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.progress;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_createClass(Progress, null, [{
|
||||||
|
key: "CONST",
|
||||||
|
get: function get() {
|
||||||
|
return {
|
||||||
|
DURATION: 1000
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
|
||||||
|
return Progress;
|
||||||
|
}();
|
||||||
|
|
||||||
|
var Confetti = function () {
|
||||||
|
function Confetti(param) {
|
||||||
|
_classCallCheck(this, Confetti);
|
||||||
|
|
||||||
|
this.parent = param.elm || document.body;
|
||||||
|
this.canvas = document.createElement("canvas");
|
||||||
|
this.canvas.classList.add("paper-canvas");
|
||||||
|
this.ctx = this.canvas.getContext("2d");
|
||||||
|
this.width = param.width || this.parent.offsetWidth;
|
||||||
|
this.height = param.height || this.parent.offsetHeight;
|
||||||
|
this.length = param.length || Confetti.CONST.PAPER_LENGTH;
|
||||||
|
this.yRange = param.yRange || this.height * 2;
|
||||||
|
this.progress = new Progress({
|
||||||
|
duration: param.duration,
|
||||||
|
isLoop: true
|
||||||
|
});
|
||||||
|
this.rotationRange = typeof param.rotationLength === "number" ? param.rotationRange : 10;
|
||||||
|
this.speedRange = typeof param.speedRange === "number" ? param.speedRange : 10;
|
||||||
|
this.sprites = [];
|
||||||
|
|
||||||
|
this.canvas.style.cssText = ["display: block", "position: absolute", "top: 0", "left: 0", "pointer-events: none"].join(";");
|
||||||
|
|
||||||
|
this.render = this.render.bind(this);
|
||||||
|
|
||||||
|
this.build();
|
||||||
|
|
||||||
|
this.parent.append(this.canvas);
|
||||||
|
this.progress.start(performance.now());
|
||||||
|
|
||||||
|
requestAnimationFrame(this.render);
|
||||||
|
}
|
||||||
|
|
||||||
|
Confetti.prototype.build = function build() {
|
||||||
|
for (var i = 0; i < this.length; ++i) {
|
||||||
|
var canvas = document.createElement("canvas"),
|
||||||
|
ctx = canvas.getContext("2d");
|
||||||
|
|
||||||
|
canvas.width = Confetti.CONST.SPRITE_WIDTH;
|
||||||
|
canvas.height = Confetti.CONST.SPRITE_HEIGHT;
|
||||||
|
|
||||||
|
canvas.position = {
|
||||||
|
initX: Math.random() * this.width,
|
||||||
|
initY: -canvas.height - Math.random() * this.yRange
|
||||||
|
};
|
||||||
|
|
||||||
|
canvas.rotation = this.rotationRange / 2 - Math.random() * this.rotationRange;
|
||||||
|
canvas.speed = this.speedRange / 2 + Math.random() * (this.speedRange / 2);
|
||||||
|
|
||||||
|
ctx.save();
|
||||||
|
ctx.fillStyle = Confetti.CONST.COLORS[Math.random() * Confetti.CONST.COLORS.length | 0];
|
||||||
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||||
|
ctx.restore();
|
||||||
|
|
||||||
|
this.sprites.push(canvas);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Confetti.prototype.render = function render(now) {
|
||||||
|
var progress = this.progress.tick(now);
|
||||||
|
|
||||||
|
this.canvas.width = this.width;
|
||||||
|
this.canvas.height = this.height;
|
||||||
|
|
||||||
|
for (var i = 0; i < this.length; ++i) {
|
||||||
|
this.ctx.save();
|
||||||
|
this.ctx.translate(this.sprites[i].position.initX + this.sprites[i].rotation * Confetti.CONST.ROTATION_RATE * progress, this.sprites[i].position.initY + progress * (this.height + this.yRange));
|
||||||
|
this.ctx.rotate(this.sprites[i].rotation);
|
||||||
|
this.ctx.drawImage(this.sprites[i], -Confetti.CONST.SPRITE_WIDTH * Math.abs(Math.sin(progress * Math.PI * 2 * this.sprites[i].speed)) / 2, -Confetti.CONST.SPRITE_HEIGHT / 2, Confetti.CONST.SPRITE_WIDTH * Math.abs(Math.sin(progress * Math.PI * 2 * this.sprites[i].speed)), Confetti.CONST.SPRITE_HEIGHT);
|
||||||
|
this.ctx.restore();
|
||||||
|
}
|
||||||
|
|
||||||
|
requestAnimationFrame(this.render);
|
||||||
|
};
|
||||||
|
|
||||||
|
_createClass(Confetti, null, [{
|
||||||
|
key: "CONST",
|
||||||
|
get: function get() {
|
||||||
|
return {
|
||||||
|
SPRITE_WIDTH: 9,
|
||||||
|
SPRITE_HEIGHT: 16,
|
||||||
|
PAPER_LENGTH: 100,
|
||||||
|
DURATION: 8000,
|
||||||
|
ROTATION_RATE: 50,
|
||||||
|
COLORS: ["#EF5350", "#EC407A", "#AB47BC", "#7E57C2", "#5C6BC0", "#42A5F5", "#29B6F6", "#26C6DA", "#26A69A", "#66BB6A", "#9CCC65", "#D4E157", "#FFEE58", "#FFCA28", "#FFA726", "#FF7043", "#8D6E63", "#BDBDBD", "#78909C"]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
|
||||||
|
return Confetti;
|
||||||
|
}();
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var DURATION = 8000,
|
||||||
|
LENGTH = 120;
|
||||||
|
|
||||||
|
new Confetti({
|
||||||
|
width: window.innerWidth,
|
||||||
|
height: window.innerHeight,
|
||||||
|
length: LENGTH,
|
||||||
|
duration: DURATION
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
new Confetti({
|
||||||
|
width: window.innerWidth,
|
||||||
|
height: window.innerHeight,
|
||||||
|
length: LENGTH,
|
||||||
|
duration: DURATION
|
||||||
|
});
|
||||||
|
}, DURATION / 2);
|
||||||
|
})();
|
||||||
|
/*纸屑特效 end*/
|