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实现莲花绽放的动画效果
Nov 06 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
Jan 08 HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
Mar 26 HTML / CSS
html5拖拽应用记录及注意点
May 27 HTML / CSS
wordpress添加Html5的表单验证required方法小结
Aug 18 HTML / CSS
CSS3实现三角形不断放大效果
Apr 13 HTML / CSS
带你了解CSS基础知识,样式
Jul 21 HTML / CSS
css3手动实现pc端横向滚动
Jun 21 HTML / CSS
CSS浮动引起的高度塌陷问题
Aug 05 HTML / CSS
CSS中理解层叠性及权重如何分配
Dec 24 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全局变量与超级全局变量区别分析
2016/04/01 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
商务主管岗位职责
2013/12/08 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
《匆匆》教学反思
2014/02/22 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
住房租房协议书
2014/08/20 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
家长会主持词开场白
2015/05/29 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python