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弹性伸缩布局之box布局
Jul 12 HTML / CSS
CSS3中使用RGBA设置透明度的示例
Aug 04 HTML / CSS
CSS3中的Media Queries学习笔记
May 23 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
Jul 16 HTML / CSS
html5使用canvas画空心圆与实心圆
Dec 15 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
Jul 19 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
Dec 07 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
Apr 27 HTML / CSS
HTML5简单实现添加背景音乐的几种方法
May 12 HTML / CSS
html+css实现文字折叠特效实例
Jun 02 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获得url参数中具有&amp;的值的方法
2014/03/05 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
js控制frameSet示例
2013/09/10 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
js解决movebox移动问题
2016/03/29 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
Python中非常实用的一些功能和函数分享
2015/02/14 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
深入理解Python变量与常量
2016/06/02 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
python之列表推导式的用法
2019/11/29 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
linux面试题参考答案(11)
2016/11/26 面试题
捐书活动总结
2014/05/04 职场文书
小学亲子活动总结
2014/07/01 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
英语教师个人工作总结
2015/02/09 职场文书
接收函
2019/04/22 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL