淺談CSS3動畫的回調處理方法

來源:互聯網
上載者:User
我們在做js動畫的時候,很多時候都需要做回調處理,如在一個動畫完成後觸發一個事件、一個動畫完成後執行另外一個動畫等等,但在使用CSS3動畫時能不能捕獲到運動的狀態做回調處理呢?

CSS3動畫也是可以做回調處理的,這裡分為兩個屬性,一個是transition[w3c文檔],另外一個是animation[w3c文檔]。

1、transition

對於transition,可以監聽transitionend事件,當動畫完成時觸發,可以這樣使用:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>css3-transitionend - BeyondWeb</title>    <style>        * {margin: 0; padding: 0;}           .rect {               width: 100px;               height: 100px;               background-color: #f80;               -webkit-transition: all .5s;           }       </style>    <script>        window.onload = function () {               var _rect = document.querySelector('.rect');               _rect.onclick = function () {                   _rect.style.webkitTransform = 'translateX(300px)';               }               _rect.addEventListener('webkitTransitionEnd', function () {                   alert('動畫執行完畢!');                   // callback here               }, false);           }       </script></head><body>    <p class="rect"></p></body></html>

2、animation

對於animation我們可以監聽animationend事件,範例程式碼如下:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>css3-animationend - BeyondWeb</title>    <style>        * {margin: 0; padding: 0;}           .rect {               position: relative;               width: 100px;               height: 100px;               background-color: #f80;           }           @-webkit-keyframes move {               from {                   -webkit-transform: rotate(0);               }               to {                   -webkit-transform: rotate(360deg);               }           }       </style>    <script>        window.onload = function () {               var _rect = document.querySelector('.rect');               _rect.onclick = function () {                   _rect.style.webkitAnimation = 'move 3s';               }               _rect.addEventListener('webkitAnimationEnd', function () {                   alert('動畫執行完畢!');                   // callback here               }, false);           }       </script></head><body>    <p class="rect"></p></body></html>

就是關於CSS3動畫回調處理的一些內容,最近在做H5頁面時用到了,總結一下。

以上這篇淺談CSS3動畫的回調處理就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援topic.alibabacloud.com。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.