当前位置 : 主页 > 网络编程 > JavaScript >

卡片合成动画

来源:互联网 收集:自由互联 发布时间:2021-06-28
index.js function openAnimate() { let empty = document.getElementsByClassName("empty"); //卡片聚合动画 for (let i = 0; i empty.length; i++) { empty[i].classList.add("layer"+i) } //给福袋添加动画 setTimeout(() = { let empty = do
index.js
function openAnimate() {
    let empty = document.getElementsByClassName("empty");
    //卡片聚合动画
    for (let i = 0; i < empty.length; i++) {
        empty[i].classList.add("layer"+i)
    }
    //给福袋添加动画
    setTimeout(() => {
        let empty = document.getElementsByClassName("empty");
        let fudai = document.getElementById('fudai');
        for (let i = 0; i < empty.length; i++) empty[i].style.display = "none";
        fudai.style.display = "block";
        fudai.classList.add("fudai_rock");
    }, 1000);
    //动画结束后消失
    setTimeout(() => {
        let lucky = document.getElementById('lucky');
        fudai.style.display = "none";
        lucky.style.display = "block";
    }, 2750);
}
style.css
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

#card {
    color: #fff;
    background: url("./img/collect.png") no-repeat;
    background-size: 100% 100%;
    height: 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.card_hd {
    height: 27%;
}

.card_bd {
    height: 56.5%;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.card_bd div {
    width: 50%;
    height: 50%;
    position: relative;
}

.card_bd img {
    height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.card_bd div span {
    position: absolute;
    bottom: 15%;
    right: .9rem;
    font-size: 0.3rem;
    z-index: 20;
}


/* 动画 */

.empty {
    position: absolute;
    transition: all 1s;
}

.card_bd .layer0 {
    left: 100%;
    top: 100%;
    z-index: 10;
}

.card_bd .layer1 {
    left: 0%;
    top: 100%;
    z-index: 9;
}

.card_bd .layer2 {
    left: 100%;
    top: 0%;
    z-index: 8;
}

.card_bd .layer3 {
    left: 0%;
    top:  0%;
    z-index: 7;
}


/* 福袋 */

#fudai {
    /* position: absolute; */
    /* left: 38%;
    top: 30%; */
    z-index: 10;
    height: auto;
    display: none;
}

.fudai_rock {
    /* 给一个元素添加两个动画 */
    animation: rock 0.25s cubic-bezier(0.42, 0, 0.58, 1) 3,shift 0.5s cubic-bezier(0.32, 0, 1, 1) 0.75s forwards;
}


@keyframes rock {
    0% {
        transform: translate(-50%,-50%) rotateZ(0deg);
    }
    25% {
        transform: translate(-50%,-50%) rotateZ(-15deg);
    }
    50% {
        transform: translate(-50%,-50%) rotateZ(0deg);
    }
    75% {
        transform: translate(-50%,-50%) rotateZ(15deg);
    }
    100% {
        transform: translate(-50%,-50%) rotateZ(0deg);
    }
}

@keyframes shift {
    0% {
        transform: translate(-50%,-50%) scale(1);
    }
    100% {
        transform: translate(-50%,-50%) scale(0.4);
        top:87%;
        left:8%;
    }
}


/* 底部 */

.card_ft {
    width: 100%;
    height: 16.5%;
    position: absolute;
    bottom: 0;
}

.card_ft .lucky {
    height: 40%;
    overflow: hidden;
    position: relative;
}

.bag {
    height: 100%;
    width: 30%;
    margin-left: 0.2rem;
    overflow: hidden;
}

.bag span,
.card_ft .lucky p {
    font-size: 0.33rem;
    font-weight: 500;
}

.bag img {
    height: 100%;
    float: left;
    margin-top: 3%;
}

.bag span {
    float: left;
    margin-top: 15%;
}

.card_ft .lucky p {
    position: absolute;
    width: 100%;
    bottom: 20%;
    text-align: center;
}

.card_ft .lucky p span {
    color: rgb(156, 255, 0);
}

.card_ft .lucky_btn {
    height: 60%;
    text-align: center;
}

.lucky_btn img {
    height: 85%;
    margin-top: 0.1rem;
}

#lucky {
    display: none;
}


/* rem布局 */

@media (min-width: 320px) {
    html {
        font-size: 44.4444px;
    }
}

@media (min-width: 360px) {
    html {
        font-size: 50px;
    }
}

@media (min-width: 375px) {
    html {
        font-size: 52.0833px;
    }
}

@media (min-width: 384px) {
    html {
        font-size: 53.3333px;
    }
}

@media (min-width: 414px) {
    html {
        font-size: 57.5px;
    }
}

@media (min-width: 448px) {
    html {
        font-size: 62.2222px;
    }
}

@media (min-width: 480px) {
    html {
        font-size: 66.6667px;
    }
}

@media (min-width: 512px) {
    html {
        font-size: 71.1111px;
    }
}

@media (min-width: 544px) {
    html {
        font-size: 75.5556px;
    }
}

@media (min-width: 576px) {
    html {
        font-size: 80px;
    }
}

@media (min-width: 608px) {
    html {
        font-size: 84.4444px;
    }
}

@media (min-width: 640px) {
    html {
        font-size: 88.8889px;
    }
}

@media (min-width: 720px) {
    html {
        font-size: 100px;
    }
}
index.html



    
 
    
 
    
 
    
 
    卡片合成动画



    
 
        
  
        
   
    
    
     
     
    11 
    
    
     
     
    12 
    
    
     
     
    13 
    
    
     
     
    14 
    
    
  
        
   
    
     
      
      X 1 
     
    

1000人已收集

效果展示.mp4 效果展示.mp4 卡牌合成动画效果源码.rar 卡牌合成动画效果源码.rar
网友评论