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五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
Aug 25 HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
Jun 23 HTML / CSS
HTML5仿微信聊天界面、微信朋友圈实例代码
Jan 29 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
Mar 13 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
Jul 31 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
html5自动播放mov格式视频的实例代码
Jan 14 HTML / CSS
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
Apr 07 HTML / CSS
详解CSS中postion和opacity及cursor的特性
Aug 14 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
星际实力自我测试
2020/03/04 星际争霸
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
javascript版2048小游戏
2015/03/18 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
基于python socketserver框架全面解析
2017/09/21 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python操作Jira库常用方法解析
2020/04/10 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
数据库方面面试题
2012/04/22 面试题
拾金不昧感谢信范文
2015/01/21 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS