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 textarea的长度进行验证
May 06 Javascript
Cookie 小记
Apr 01 Javascript
一些相见恨晚的 JavaScript 技巧
Apr 25 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 Javascript
JsRender for index循环索引用法详解
Oct 31 Javascript
js获取域名的方法
Jan 27 Javascript
JavaScript 消息框效果【实现代码】
Apr 27 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
vue 获取及修改store.js里的公共变量实例
Nov 06 Javascript
微信小程序点击滚动到指定位置的实现
May 22 Javascript
js+canvas实现刮刮奖功能
Sep 13 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
用PHP来写记数器(详细介绍)
2006/10/09 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python队列Queue的详解
2019/05/10 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
详细分析Python collections工具库
2020/07/16 Python
通俗讲解python 装饰器
2020/09/07 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
学校督导评估方案
2014/06/10 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
评先进个人材料
2014/12/29 职场文书
销售员岗位职责范本
2015/04/11 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js