淺談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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.