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 相关文章推荐
CSS类名支持中文命名的示例
Apr 04 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
CSS3实现时间轴效果
Jul 11 HTML / CSS
CSS3 animation ? steps 函数详解
Aug 30 HTML / CSS
css3 flex实现div内容水平垂直居中的几种方法
Mar 27 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
Jan 09 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
Jan 17 HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 HTML / CSS
HTML5实现文件断点续传的方法
Jan 04 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 HTML / CSS
纯html+css实现打字效果
Aug 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
缅甸的咖啡简史
2021/03/04 咖啡文化
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
java解析json方法总结
2019/05/16 PHP
php精度计算的问题解析
2019/06/21 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
Python ljust rjust center输出
2008/09/06 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
python中sys模块是做什么用的
2020/08/16 Python
Java中实现多态的机制是什么?
2014/12/07 面试题
车辆维修工自我评价怎么写
2013/09/20 职场文书
知识竞赛主持词
2014/03/26 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
详解Python牛顿插值法
2021/05/11 Python