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对dom的操作常用方法整理
Jun 25 Javascript
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
浅析JS异步加载进度条
May 05 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
Jul 31 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
Aug 16 Javascript
浅谈Vue.nextTick 的实现方法
Oct 25 Javascript
vue组件(全局,局部,动态加载组件)
Sep 02 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
js实现html滑动图片拼图验证
Jun 24 Javascript
Vue组件间数据传递的方式(3种)
Jul 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 面向对象 PHP5 中的常量
2010/05/05 PHP
php 定义404页面的实现代码
2012/11/19 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
js表单验证实例讲解
2016/03/31 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
解决在vue项目中webpack打包后字体不生效的问题
2018/09/01 Javascript
图解javascript作用域链
2019/05/27 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
Python写的英文字符大小写转换代码示例
2015/03/06 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
彻底理解Python中的yield关键字
2019/04/01 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
生日宴会答谢词
2014/01/09 职场文书
办理生育手续介绍信
2014/01/14 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
红高粱观后感
2015/06/10 职场文书
2015中秋祝酒词
2015/08/12 职场文书
初中信息技术教学反思
2016/02/16 职场文书
redis限流的实际应用
2021/04/24 Redis