CSS3动画效果回调处理详解


Posted in HTML / CSS onDecember 10, 2014

我们在做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)';
}</p> <p> _rect.addEventListener('webkitTransitionEnd', function () {
alert('动画执行完毕!');
// callback here
}, false);
}
</script>
</head>
<body>
<div class="rect"></div>
</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;
}</p> <p> @-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';
}</p> <p> _rect.addEventListener('webkitAnimationEnd', function () {
alert('动画执行完毕!');
// callback here
}, false);
}
</script>
</head>
<body>
<div class="rect"></div>
</body>
</html>

以上就是关于CSS3动画回调处理的一些内容,最近在做H5页面时用到了,总结一下。

HTML / CSS 相关文章推荐
详解CSS3伸缩布局盒模型Flex布局
Aug 20 HTML / CSS
纯CSS3实现带动画效果导航菜单无需js
Sep 27 HTML / CSS
CSS3的 fit-content实现水平居中
Sep 07 HTML / CSS
如何用border-image实现文字气泡边框的示例代码
Jan 21 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
Oct 08 HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 HTML / CSS
HTML5边玩边学(1)画布实现方法
Sep 21 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
Aug 02 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
Nov 18 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
Jun 27 HTML / CSS
Html5定位终极解决方案
Feb 05 HTML / CSS
HTML5实现移动端点击翻牌功能
Oct 23 HTML / CSS
CSS3属性background-size使用指南
Dec 09 #HTML / CSS
CSS3属性box-shadow使用指南
Dec 09 #HTML / CSS
CSS3属性box-sizing使用指南
Dec 09 #HTML / CSS
使用css3实现的tab选项卡代码分享
Dec 09 #HTML / CSS
使用css3实现的windows8开机加载动画
Dec 09 #HTML / CSS
css3的transform中scale缩放详解
Dec 08 #HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
Dec 07 #HTML / CSS
You might like
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
2016/01/29 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
详解Python中dict与set的使用
2015/08/10 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
城市规划应届生推荐信
2014/09/08 职场文书
2014年手术室工作总结
2014/11/26 职场文书
三方合作意向书范本
2015/05/09 职场文书
地球上的星星观后感
2015/06/02 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python