javascript - CSS TransitionEnd 未触发

标签 javascript jquery css

我为 CSS 关键帧动画创建了一个非常基本的测试,包括“ontransitionend”的事件监听器 - 但无论我使用什么变体,这个“过渡结束”监听器都不会触发。 (我的完整代码包含所有 vendor 前缀)。

HTML

<div id="block">I like to move it</div>

CSS

.tweetanimation {
    -webkit-animation: Tweet_FadeInOut 6s 1 forwards;
}

@-webkit-keyframes Tweet_FadeInOut {
  0% {
    opacity:0;
    left:30%;
  }
  30%, 70% {
    opacity:1;
    left:15%;
  }
  100% {
    opacity: 0;
    left:0%;
  }
}

JavaScript

$("#block").one('webkitTransitionEnd msTransitionEnd transitionend', function(e) {
        alert("block has finished moving");
});

$("#block").addClass("tweetanimation");

出于某种原因,我无法让它工作!我错过了什么? JSFiddle here

最佳答案

问题是您根本没有使用 transition 属性,而是使用了关键帧动画。你需要 animationend:

$("#block").one('webkitAnimationEnd msAnimationEnd animationend', function(e) {
    alert("block has finished moving");
});
$("#block").addClass("tweetanimation");

DemoFiddle More Info Link

关于javascript - CSS TransitionEnd 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28700431/

相关文章:

javascript - 如何删除基本jquery slider bjqs.js插件中标记中的文本内容

javascript - Mozilla Firefox 中的复选框未显示图标

javascript - JS - $ 未定义且无法调用 null 的方法 "plug"

javascript - Meteor 中可变键的替代方案

javascript - 如何在 Javascript/Jquery 中获取包含单击文本的元素?

css - float 元素的零高度边缘会被视为边缘吗?

html - 使用 CSS 获取 TD 的值

javascript - Magento 重复加载 JS CSS 文件

javascript - 如何在来回转换时保持 RGB 和 HSL 整数值一致?

jquery - jsTree 搜索插件和特殊字符