transitiononed事件不;我的动画结束时不要开火
transitionend event doesn't fire when my animation finishes
我正试图在css动画完成并基本正常工作时使用jQuery来激发事件,但由于某种原因,直到我将鼠标从有问题的对象上移开,才会调用transitionend
事件。
方法如下:
function replaceWithSearch(){
var searchWrapper = constructSearchBox("");
$(this).addClass("animated fadeOut"); // css animation
$(this).on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
function (e){
console.log(e);
$(this).parent().replaceWith(searchWrapper);
if (document.URL.indexOf("search?s=") == -1){
document.getElementById("searchbox").focus();
}
});
}
除了第一个css动画完成后,如果我把鼠标放在$(this)
元素上,transitionend
事件就不会触发之外,它似乎主要起作用。只要我把鼠标从元素上移开,一切都会完美地工作。
我真的对这个不知所措,有什么想法吗?我在animate.css.
您没有得到transitionend
事件,因为您没有使用CSS转换;您正在使用CSS动画。animate.css
中animated
和fadeOut
类的CSS如下:
.animated {
-webkit-animation-duration: 1s;
-moz-animation-duration: 1s;
-o-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
-moz-animation-fill-mode: both;
-o-animation-fill-mode: both;
animation-fill-mode: both;
}
.animated.fadeOut {
-webkit-animation-name: fadeOut;
-moz-animation-name: fadeOut;
-o-animation-name: fadeOut;
animation-name: fadeOut;
}
@-webkit-keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
@-moz-keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
@-o-keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
@keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}
.animated.fadeOut {
-webkit-animation-name: fadeOut;
-moz-animation-name: fadeOut;
-o-animation-name: fadeOut;
animation-name: fadeOut;
}
这不是一个CSS转换,它是一个CSS动画。它们在完成时触发不同的事件。
替换此:
$(this).on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
这个:
$(this).on('webkitAnimationEnd oanimationend oAnimationEnd msAnimationEnd animationend',
我认为一切都会好起来的。
我怀疑,当你把鼠标从$(this)
元素上移开时,发生了一些事情,这是巧合;也许你有一个完全独立的处理程序,比如mouseout
处理程序,其行为与你误认为是transitionend
处理程序的行为相似,或者你在悬停时应用了一些CSS转换,其中之一是触发一个与fadeOut完全无关的transitionend
事件?
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 循环结束/推送到数组之前在页面上呈现EJS
- 在另一个函数成功结束后调用该函数
- 在动画结束之前调用函数
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 使用nunjucks时发生块结束错误
- 点击不'似乎没有开火
- HTML5获取弧的坐标's结束
- 内容结束时停止无限滚动
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 如何在视频上显示海报图像使用Jquery结束
- 使用while循环+break是一种可接受的方式;goto;手术的结束
- 处理第三方库发送的ajax请求的开始和结束事件
- 结束后Javascript倒计时计时器重定向
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 强制 $scope.$watch 只开火一次
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 使用ajax的输入jquery意外结束
- transitiononed事件不;我的动画结束时不要开火