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特性绘制简易版围棋效果
Sep 28 HTML / CSS
细说CSS3中的选择符
Oct 17 HTML / CSS
css3中背景尺寸background-size详解
Sep 02 HTML / CSS
CSS3 实现时间轴动画
Nov 25 HTML / CSS
利用html5的websocket实现websocket聊天室
Dec 12 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
Jan 29 HTML / CSS
HTML5实现预览本地图片
Feb 17 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
Mar 22 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
Jul 29 HTML / CSS
amaze ui 的使用详细教程
Aug 19 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 HTML / CSS
解析CSS 提取图片主题色功能(小技巧)
May 12 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP教程 变量定义
2009/10/23 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
js 学习笔记(三)
2009/12/29 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
python实现在目录中查找指定文件的方法
2014/11/11 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
幼儿园小班评语
2014/04/18 职场文书
婚庆答谢词
2015/01/04 职场文书
检讨书范文
2015/01/27 职场文书
员工离职通知函
2015/04/25 职场文书
新年祝酒词大全
2015/08/11 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
python 安全地删除列表元素的方法
2022/03/16 Python