css3动画事件—webkitAnimationEnd与计时器time事件


Posted in HTML / CSS onJanuary 31, 2013

用css3的animation完成一个动画,当只有这个动画完成时才执行令一个事件,比如让动画保持在终止的状态或其他一些事件。我们该怎么办呢。
第一种方法
用计时器,设定一个和动画时长一样的time,过time事件去执行这个函数。
setTimeout(function(){ },time);
第二种方法
当-webkit-animation动画结束时有一个webkitAnimationEnd事件,只要监听这个事件就可以了。
例子:

复制代码
代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="@my_programmer">
<title>webkitAnimationEnd</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no"/>
<style type="text/css">
#div{
width:200px;
height:200px;
background:#f60;
margin:100px auto;
-webkit-transition: all ease 1s;
}
.change{
-webkit-animation: transform 1s 2 ease;
}
@-webkit-keyframes transform {
% { -webkit-transform: scale(1)}
% { -webkit-transform: scale(2)}
% { -webkit-transform: scale(0.5)}
% { -webkit-transform: scale(1)}
}
</style>
</head>
<body>
<div id="div"></div>
<script type="text/javascript">
var tt = document.querySelector('#div');
tt.addEventListener("click", function(){
this.className = 'change';
}, false);
tt.addEventListener("webkitAnimationEnd", function(){ //动画结束时事件
this.className = this.className.replace('change', ' ');
console.log(2);
}, false);
</script>
</body>
</html>

拓展
1、-webkit-animation动画其实有三个事件:
开始事件 webkitAnimationStart
结束事件 webkitAnimationEnd
重复运动事件 webkitAnimationIteration
你可以在上个例子中测试一下这两个事件
复制代码
代码如下:

tt.addEventListener("webkitAnimationStart", function(){ //动画开始时事件
console.log(1);//动画开始时,控制台输出1
}, false);
tt.addEventListener("webkitAnimationIteration", function(){ //动画重复运动时的事件
console.log(3);//第一遍动作完成时,控制台输出3
}, false);

2、css3的过渡属性transition,在动画结束时,也存在结束的事件:webkitTransitionEnd;
注意:transition,也仅仅有这一个事件。
HTML / CSS 相关文章推荐
CSS3教程(8):CSS3透明度指南
Apr 02 HTML / CSS
今天学到的CSS最新技术(与图片背景相关)
Dec 24 HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
Aug 19 HTML / CSS
浅谈CSS3动画的回调处理
Jul 21 HTML / CSS
CSS3 animation ? steps 函数详解
Aug 30 HTML / CSS
css3遮罩层镂空效果的多种实现方法
May 11 HTML / CSS
html5基础教程常用技巧整理
Aug 20 HTML / CSS
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
Jun 16 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 HTML / CSS
用HTML5制作数字时钟的教程
May 11 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
Aug 19 HTML / CSS
CSS3 制作绽放的莲花采用效果叠加实现
Jan 31 #HTML / CSS
CSS3 制作旋转的大风车(充满童年回忆)
Jan 30 #HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
Jan 30 #HTML / CSS
IE滤镜与CSS3效果(详细整理分享)
Jan 25 #HTML / CSS
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
Jan 23 #HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
Jan 21 #HTML / CSS
定义css设备类型-Media Queries图表简介及使用方法
Jan 21 #HTML / CSS
You might like
PHP - Html Transfer Code
2006/10/09 PHP
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
体育学院毕业生自荐信
2013/11/03 职场文书
求职信模板怎么做
2014/01/26 职场文书
简历自我评价模版
2014/01/31 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
火锅店的活动方案
2014/08/15 职场文书
授权收款委托书范本
2014/10/10 职场文书
2015年信访工作总结
2015/04/07 职场文书
保险内勤岗位职责
2015/04/13 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书