javascript判断css3动画结束 css3动画结束的回调函数


Posted in Javascript onMarch 10, 2015

css3 的时代,css3--动画 一切皆有可能;

javascript判断css3动画结束 css3动画结束的回调函数

传统的js 可以通过回调函数判断动画是否结束;即使是采用CSS技术生成动画效果,JavaScript仍然能捕获动画或变换的结束事件;

transitionend事件和animationend事件标准的浏览器事件,但在WebKit浏览器里你仍然需要使用webkit前缀,所以,我们不得不根据各种浏览器分别检测事件

var transitions = {

       'transition':'transitionend',

       'OTransition':'oTransitionEnd',

       'MozTransition':'transitionend',

       'WebkitTransition':'webkitTransitionEnd'

     }

下面附上源代码:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>suface   js判断css动画是否结束</title>

</head>

<body>

<p>一旦动画或变换结束,回调函数就会触发。不再需要大型类库支持。<br> </p>

<style type="text/css">

.sample {

width: 200px;

height: 200px;

border: 1px solid green;

background: lightgreen;

opacity: 1;

margin-bottom: 20px;

transition-property: opacity;

/*transition-duration: .5s;*/

transition-duration:3s;

}

  .sample.hide {

opacity: 0;

}

</style>

<div class="sample">css3动画过度慢慢隐藏(transition-duration:3s;)</div>

<p><button onclick="this.style.display='none';startFade();">慢慢消退,检测结束事件</button></p>

<script>             

                   (function() {

   var e = document.getElementsByClassName('sample')[0];

   function whichTransitionEvent(){

       var t;

       var el = document.createElement('fakeelement');

       var transitions = {

         'transition':'transitionend',

         'OTransition':'oTransitionEnd',

         'MozTransition':'transitionend',

         'WebkitTransition':'webkitTransitionEnd'

       }

       for(t in transitions){

           if( el.style[t] !== undefined ){

               return transitions[t];

           }

       }

   }

   var transitionEvent = whichTransitionEvent();

   transitionEvent && e.addEventListener(transitionEvent, function() {

    alert('css3运动结束!我是回调函数,没有使用第三方类库!');

   });

   startFade = function() {

    e.className+= ' hide';

   }

  })();<br></script>

</body>

</html>

以上就是本文所述的关于javascript判断CSS3动画结束的方法,希望大家能够喜欢

Javascript 相关文章推荐
js实现简单模态窗口,背景灰显
Nov 14 Javascript
一些常用的JS功能函数(2009-06-04更新)
Jun 04 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
关于JavaScript中string 的replace
Apr 12 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
Jul 09 Javascript
JS阻止用户多次提交示例代码
Mar 26 Javascript
22点关于jquery性能优化的建议
May 28 Javascript
动态载入js提高网页打开速度的方法
Jul 04 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
vue router导航守卫(router.beforeEach())的使用详解
Apr 19 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 #Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 #Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 #Javascript
JQuery操作元素的css样式
Mar 09 #Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 #Javascript
jquery获取及设置outerhtml的方法
Mar 09 #Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 #Javascript
You might like
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP中$_SERVER的详细参数与说明
2008/07/29 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
python的命名规则知识点总结
2019/10/04 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
SQL语言面试题
2013/08/27 面试题
市场营销调查计划书
2014/05/02 职场文书
二年级学生期末评语
2014/12/26 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
2016年学校招生广告语
2016/01/28 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle