AnimationEvent elapsedTime 属性
JavaScript基础 2022-06-08 12:05:23小码哥的IT人生shichen
AnimationEvent elapsedTime 属性
实例
确定动画运行了多少秒:
var x = document.getElementById("myDIV");
x.addEventListener("animationiteration", myRepeatFunction);
function myRepeatFunction(event) {
this.innerHTML = "Elapsed time: " + event.elapsedTime;
}
完整实例:
<!DOCTYPE html>
<html>
<head>
<style>
#myDIV {
margin: 25px;
width: 550px;
height: 100px;
background: orange;
position: relative;
font-size: 20px;
text-align: center;
-webkit-animation: mymove 4s infinite; /* Chrome, Safari, Opera */
animation: mymove 4s infinite;
}
/* 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() 方法将 "animationstart" 和 "animationiteration" 事件附加到 DIV 元素。</p>
<p>当动画重复时,DIV 的背景颜色会是淡蓝色。</p>
<p>在本例中,elapsedTime 属性返回<b>重复动画</b>已运行的秒数:</p>
<p><b>注释:</b>IE9 及更早版本不支持 elapsedTime 属性。</p>
<div id="myDIV">动画开始了</div>
<script>
var x = document.getElementById("myDIV");
// 针对 Chrome、Safari 和 Opera 的代码
x.addEventListener("webkitAnimationIteration", myRepeatFunction);
// 标准语法
x.addEventListener("animationiteration", myRepeatFunction);
function myRepeatFunction(event) {
this.style.backgroundColor = "lightblue";
this.innerHTML = "Elapsed time: " + event.elapsedTime + " seconds";
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
定义和用法
elapsedTime 属性返回动画已运行的秒数,当一个动画事件发生时。
注释:如果动画暂停(通过使用 CSS 属性 animation-delay),则返回值不受影响。
注释:对于 animationstart 事件,此属性始终返回 "0"。
注释:该属性只读。
浏览器支持
表中的数字注明了完全支持该属性的首个浏览器版本。
属性 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
elapsedTime | 支持 | 10.0 | 6.0 | 支持 | 支持 |
语法
event.elapsedTime
技术细节
返回值: | 数字值,表示动画运行的秒数。 |
---|