JavaScript 参考手册
/ animationiteration 事件
animationiteration 事件
animationiteration 事件
实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<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>运行实例 »
点击 "运行实例" 按钮查看在线实例
定义和用法
animationiteration 事件在 CSS 动画重新播放时触发。
如果 CSS animation-iteration-count 属性设置为 "1", 动画将只播放一次, animationiteration 事件不再触发。
更多关于 CSS 动画的内容,请查看我们的CSS3 动画 章节。
CSS 动画播放时,会发生以下三个事件:
- animationstart - CSS 动画开始后触发
- animationiteration - CSS 动画重复播放时触发
- animationend - CSS 动画完成后触发
浏览器支持
表格中的数字表示支持该事件的第一个浏览器的版本号。
"webkit" 或 "moz" 后面指定的数字为支持该事件的第一个版本号前缀。
| 事件 | |||||
|---|---|---|---|---|---|
| animationiteration | 4.0 webkit | 10.0 | 16.0 5.0 moz | 4.0 webkit | 15.0 webkit 12.1 |
注意: Chrome, Safari 和 Opera 浏览器使用 webkitAnimationEnd 前缀。
语法
object.addEventListener("webkitAnimationIteration", myScript);
// Chrome, Safari 和 Opera代码
object.addEventListener("animationiteration", myScript); // 标准语法
object.addEventListener("animationiteration", myScript); // 标准语法
注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。
技术细节
| 是否支持冒泡: | Yes |
|---|---|
| 是否可以取消: | No |
| 事件类型: | AnimationEvent |
相关页面
CSS 教程: CSS3 动画
CSS 参考手册: CSS3 动画属性
CSS 参考手册: CSS3 animation-iteration-count 属性
HTML DOM 参考手册: Style 动画属性