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 显示当前日期与时间的代码
Mar 24 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 Javascript
node内置调试方法总结
Feb 22 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
Jan 29 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
es6 for循环中let和var区别详解
Jan 12 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的String类代码
2010/04/20 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
JQuery live函数
2010/12/24 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
Tensorflow简单验证码识别应用
2017/05/25 Python
Python正则捕获操作示例
2017/08/19 Python
Python数据结构之单链表详解
2017/09/12 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
求职简历的自我评价怎样写好
2013/10/07 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
论文答辩开场白大全
2015/05/27 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书