animationstart 事件

animationstart 事件

事件对象参考手册 事件对象

在 CSS 动画开始播放时为 <div> 元素添加监听事件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>蜜蜂教程(mifengjc.com)</title>
  <style>
    #myDIV {
      margin: 25px;
      width: 550px;
      height: 100px;
      background: orange;
      position: relative;
      font-size: 20px;
    }
    /* Chrome, Safari, Opera */

    @-webkit-keyframes mymove {
      from {
        top: 0px;
      }
      to {
        top: 200px;
      }
    }

    @keyframes mymove {
      from {
        top: 0px;
      }
      to {
        top: 200px;
      }
    }
  </style>
</head>
<body>

  <p>该实例使用了 addEventListener() 方法为 DIV 元素添加"animationstart", "animationiteration" 和 "animationend" 事件。</p>
  <div id="myDIV" onclick="myFunction()">点我开始动画</div>
  <script>
    var x = document.getElementById("myDIV")
    // 使用 JavaScript 开始动画
    function myFunction() {
      x.style.WebkitAnimation = "mymove 4s 2"; // Chrome, Safari 和 Opera 代码
      x.style.animation = "mymove 4s 2";
    }
    //  Chrome, Safari 和 Opera
    x.addEventListener("webkitAnimationStart", myStartFunction);
    x.addEventListener("webkitAnimationIteration", myIterationFunction);
    x.addEventListener("webkitAnimationEnd", myEndFunction);
    x.addEventListener("animationstart", myStartFunction);
    x.addEventListener("animationiteration", myIterationFunction);
    x.addEventListener("animationend", myEndFunction);

    function myStartFunction() {
      this.innerHTML = "animationstart 事件触发 - 动画已经开始";
      this.style.backgroundColor = "pink";
    }

    function myIterationFunction() {
      this.innerHTML = "animationiteration 事件触发 - 动画重新播放";
      this.style.backgroundColor = "lightblue";
    }

    function myEndFunction() {
      this.innerHTML = "animationend 事件触发 - 动画已经完成";
      this.style.backgroundColor = "lightgray";
    }
  </script>

</body>
</html>

尝试一下 »


定义和用法

animationstart 事件在 CSS 动画开始播放时触发。

更多关于 CSS 动画的内容,请查看我们的CSS3 动画 章节。

CSS 动画播放时,会发生以下三个事件:


浏览器支持

表格中的数字表示支持该事件的第一个浏览器的版本号。

"webkit" 或 "moz" 后面指定的数字为支持该事件的第一个版本号前缀。

事件




animationstart 4.0 webkit 10.0 16.0
5.0 moz
4.0 webkit 15.0 webkit
12.1

注意: Chrome, Safari 和 Opera 浏览器使用 webkitAnimationEnd 前缀。


语法

object.addEventListener("webkitAnimationStart", myScript);
// Code for Chrome, Safari and Operaobject.addEventListener("animationstart", myScript);
// Standard syntax

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。


技术细节

是否支持冒泡: Yes
是否可以取消: No
事件类型: AnimationEvent

相关页面

CSS 教程: CSS3 动画

CSS 参考手册: CSS3 动画属性

HTML DOM 参考手册: Style 动画属性


事件对象参考手册 事件对象