关于CSS3动画结束监听的问题

html-css016

关于CSS3动画结束监听的问题,第1张

<html>

<script src="scripts/jquery.min.js"></script>

<head>

    <style>

        div { width: 100px height: 100px background: blue transition: width 1s -moz-transition: width 1s /* Firefox 4 */ -webkit-transition: width 1s /* Safari and Chrome */ -o-transition: width 1s /* Opera */ }

        

        div:hover { width: 300px }

    </style>

</head>

<body>

    <div id="demo">

    </div>

    <br />

    <script type="text/javascript">

$("div").one("webkitTransitionEnd otransitionend transitionend",function(){

alert("11")

})

    </script>

</body>

</html>

我用我的代码测试正常,,,你的话,懒得打,,

还有你的你的ALERT,输出的11是变量吗???为什么没有""

alert("11")

应该可以输出

1,看代码参考。

2,animation-fill-mode : none | forwards | backwards | both

none:不改变默认行为。forwards :当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。backwards:在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。both:向前和向后填充模式都被应用。

<!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,

       el = document.createElement('surface'),

       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运动结束!我是回调函数,没有使用第三方类库!')

                                e. removeEventListener(transitionEvent,arguments.callee,false)//销毁事件

                                 

   })

 

   startFade = function() {

    e.className+= ' hide'

   }

  })()

</script>

</body>

</html><br><br>//兼容性 详情