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 相关文章推荐
利用SVG和CSS3来实现一个炫酷的边框动画
Jul 22 HTML / CSS
CSS3 实现童年的纸飞机
May 05 HTML / CSS
Html5新标签解释及用法
Feb 17 HTML / CSS
HTML5实践-图片设置成灰度图
Nov 12 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
Mar 25 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
Apr 10 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
Dec 20 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
Mar 19 HTML / CSS
canvas绘制树形结构可视图形的实现
Apr 03 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
使用CSS实现小三角边框原理解析
Nov 07 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
python+django+sql学生信息管理后台开发
2018/01/11 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
夜大毕业生自我评价分享
2013/11/10 职场文书
初入社会应届生求职信
2013/11/18 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
大学生学习计划书
2014/09/15 职场文书
个人向公司借款协议书
2014/10/09 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
运动会运动员赞词
2015/07/22 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
win10清理dns缓存
2022/04/19 数码科技