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 相关文章推荐
图片连续滚动代码[兼容IE/firefox]
Jun 11 Javascript
js post方式传递提交的实现代码
May 31 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
Feb 04 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
jquery实现对联广告的方法
Feb 05 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
Angularjs 实现一个幻灯片示例代码
Sep 08 Javascript
js Canvas绘制圆形时钟效果
Feb 17 Javascript
Vue中的$set的使用实例代码
Oct 08 Javascript
vue开发环境配置跨域的方法步骤
Jan 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
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
前端必学之PHP语法基础
2016/01/01 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
php intval函数用法总结
2019/04/14 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python 爬虫的工具列表大全
2016/01/31 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python类的继承super相关原理解析
2020/10/22 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
药学专业个人自我评价
2013/11/11 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
会计试用期自我评价
2014/09/19 职场文书
幼儿教师辞职信
2015/02/27 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL