淺談CSS3動(dòng)畫的回調(diào)處理

我們在做js動(dòng)畫的時(shí)候,很多時(shí)候都需要做回調(diào)處理,如在一個(gè)動(dòng)畫完成后觸發(fā)一個(gè)事件、一個(gè)動(dòng)畫完成后執(zhí)行另外一個(gè)動(dòng)畫等等,但在使用CSS3動(dòng)畫時(shí)能不能捕獲到運(yùn)動(dòng)的狀態(tài)做回調(diào)處理呢?
CSS3動(dòng)畫也是可以做回調(diào)處理的,這里分為兩個(gè)屬性,一個(gè)是transition[w3c文檔],另外一個(gè)是animation[w3c文檔]。
1、transition
對于transition,可以監(jiān)聽transitionend事件,當(dāng)動(dòng)畫完成時(shí)觸發(fā),可以這樣使用:
- <!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('動(dòng)畫執(zhí)行完畢!');
- // callback here
- }, false);
- }
- </script>
- </head>
- <body>
- <div class="rect"></div>
- </body>
- </html>
2、animation
對于animation我們可以監(jiān)聽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('動(dòng)畫執(zhí)行完畢!');
- // callback here
- }, false);
- }
- </script>
- </head>
- <body>
- <div class="rect"></div>
- </body>
- </html>
就是關(guān)于CSS3動(dòng)畫回調(diào)處理的一些內(nèi)容,最近在做H5頁面時(shí)用到了,總結(jié)一下。
以上這篇淺談CSS3動(dòng)畫的回調(diào)處理就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
原文地址:http://www.cnblogs.com/androidshouce/archive/2016/07/21/5690438.html
相關(guān)文章
純css3實(shí)現(xiàn)的3D方塊翻轉(zhuǎn)動(dòng)畫特效源碼
這是一款純css3實(shí)現(xiàn)的3D方塊翻轉(zhuǎn)動(dòng)畫特效源碼。畫面中心的立方體方塊自身做翻轉(zhuǎn)運(yùn)動(dòng),方塊外圍的圓環(huán)也隨著方塊的轉(zhuǎn)動(dòng)做旋轉(zhuǎn)運(yùn)動(dòng),整體效果流暢自然。該特效動(dòng)畫采用純css32016-07-22純css3實(shí)現(xiàn)的3D圖片立方體旋轉(zhuǎn)動(dòng)畫特效源碼
這是一款使用純css3實(shí)現(xiàn)的3D圖片立方體旋轉(zhuǎn)動(dòng)畫特效源碼。外層圖片構(gòu)成大立方體包裹內(nèi)層的小圖片立方體同步旋轉(zhuǎn),鼠標(biāo)滑過立方體可呈現(xiàn)出外層立方體炸開的效果。該動(dòng)畫特效2016-07-21CSS3實(shí)現(xiàn)的綿羊奔跑動(dòng)畫特效源碼
是一段實(shí)現(xiàn)了多只奔跑的綿羊效果的代碼,可以用做背景圖,本段代碼適應(yīng)于所有網(wǎng)頁使用,有興趣的朋友們可以前來下載使用2016-07-20CSS3鼠標(biāo)滑過圖片標(biāo)題遮罩動(dòng)畫特效源碼 8種
本源碼是一組使用CSS3制作的超酷鼠標(biāo)滑過圖片標(biāo)題動(dòng)畫特效的代碼。共有8種不同的鼠標(biāo)滑過效果,能制作遮罩層的各種動(dòng)畫特效2016-07-18- 這篇文章主要為大家詳細(xì)介紹了純CSS3繪制打火機(jī)動(dòng)畫火焰效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-18
- 下面小編就為大家?guī)硪黄猚ss3動(dòng)畫效果小結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-25