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 相关文章推荐
jquery自定义属性(类型/属性值)
May 21 Javascript
jquery导航制件jquery鼠标经过变色效果示例
Dec 05 Javascript
javascript中的原型链深入理解
Feb 24 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 Javascript
AnjularJS中$scope和$rootScope的区别小结
Sep 18 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
微信小程序 共用变量值的实现
Jul 12 Javascript
vue配置多页面的实现方法
May 22 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
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
PHP实现服务器状态监控的方法
2014/12/09 PHP
PHP实现的简单缓存类
2015/07/29 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
python数据结构之图的实现方法
2015/07/08 Python
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
Python使用xpath实现图片爬取
2020/09/16 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
荷兰电脑专场:Paradigit
2018/05/05 全球购物
毕业生求职自荐信怎么写
2014/01/08 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
教室布置标语
2014/06/26 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
组织委员竞选稿
2015/11/21 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python