js控制css的animation動畫


昨天寫作業想要實現通過點擊觸發animation動畫的效果。想了很久發現可以用js修改css,不過我並沒有直接掌握keyframes里的內容的技術(哭死)。所以我的解決思路是寫兩份css,一份是初始狀態,一份是觸發后需要顯示的效果,但在實際操作中發現直接替換css文件后不知道為什么動畫效果並不會實現,只能顯示動畫結束時的狀態。后面我改變了做法,直接修改css內容。

 

實例:

html文件

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" src="index.css" type="text/css">
    <script type="text/javascript" src="control.js"></script>
</head>
<body>
    <div id="pic" class="pic1">
        <img src="pic.jpg">
    </div>
  <button type="button" onclick="next()">start</button>

</body>
</html>

css文件

.pic1{           /*初始狀態*/
    position: relative;
    width:50%;
    top:50%;
}

/*動畫*/
.pic2{
    position: relative;
    width:50%;
    top:50%;
    animation-name: pic2;
    animation-duration: 3s;
    animation-fill-mode: both;
}

@-webkit-keyframes pic2{     /*適用於chrome*/
    0% {
        width:90%;
        top:50%;
    }
    50%{
        width:50%;
        top:50%;
    }
    100% {
        width:50%;
        top:10%;
    }
}

js代碼

function next(){
    document.getElementById("pic").className="pic2";
}

這樣就實現了對animation的控制。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM