首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么动画事件的elapsedTime属性未定义

为什么动画事件的elapsedTime属性未定义
EN

Stack Overflow用户
提问于 2014-08-01 12:39:58
回答 2查看 914关注 0票数 1

我正在尝试访问动画事件的elapsedTime属性,如MDN所示。

当我检查对象时,我可以看到具有相应值的属性,但是当我将其记录在控制台中时,就会出现未定义的情况。以下是示例代码:

HTML

代码语言:javascript
复制
<div id='box'></div>

CSS

代码语言:javascript
复制
#box {
  position:absolute;
  top:0;
  left:0;
  width:50px;
  height:50px;
  background:red;
  animation: move 5s infinite;
}

@keyframes move {
  0% { left: 0; }
  50% { left:90%; }
  100% { left: 0;}
}

JS

代码语言:javascript
复制
$("#box").on("animationiteration webkitAnimationIteration", function (e) {
  console.log(e.elapsedTime); // this logs undefined
});

我安装了一个小提琴这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-01 16:45:00

正确的语法是

代码语言:javascript
复制
console.log(e.originalEvent.elapsedTime);

在javaScript事件中,变量是经过时间的,所以您可以像以前一样访问它。

javascriptevent.elapsedTime

但是,您要在jQuery中设置事件函数。jQuery事件有很多镜像的javascript变量,但不是全部。

要访问jQuery事件中没有镜像的javascript变量,您可以在jQuery事件中使用originalEvent对象,即原始的javascript事件。

所以,语法是

jQueryEvent.originalEvent.elapsedTime

使用相同的语法访问jQuery事件中未镜像的所有变量

票数 1
EN

Stack Overflow用户

发布于 2016-01-13 15:04:47

我通过在function onAnimationProgress(event) if (ev.elapsedTime === undefined) ev.elapsedTime = maxDuration;中添加下面的代码行来修正它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25080498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档