小码哥的IT人生

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

技术细节

返回值: 数字值,表示动画运行的秒数。

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024