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 相关文章推荐
JavaScript 继承详解(二)
Jul 13 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
javascript闭包的理解
Apr 01 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
详解如何在vue-cli中使用vuex
Aug 07 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
Sep 28 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
JS实现网页烟花动画效果
Mar 10 Javascript
JavaScript实现贪吃蛇游戏
Jun 16 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
PHP中比较时间大小实例
2014/08/21 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
Three.js快速入门教程
2016/09/09 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
详解tensorflow载入数据的三种方式
2018/04/24 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
python yield和Generator函数用法详解
2020/02/10 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
Django中使用Celery的方法步骤
2020/12/07 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
淮阳太昊陵导游词
2015/02/10 职场文书
员工工作表现自我评价
2015/03/06 职场文书
大学生读书笔记大全
2015/07/01 职场文书
晚会开幕词范文
2016/03/04 职场文书