jQuery - 检测 CSS 动画是否结束
jQuery -detecting if CSS animation ended
只是引导一个快速的模态脚本,我就碰壁了。
测试css动画,一切正常。我可以从链接打开一个模态,但是当我出于某种原因尝试再次打开相同的模态时
.one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
modalBg.removeClass('flex fadeOut animated');
$(this).off(e);
});
瞬间被发射...当我每次尝试单击不同的链接时,它都可以正常工作。我确实尝试modalBg
变量为 null,它可以解决问题,但控制台返回未定义removeClass
的错误。所以出于某种原因,modalBg.removeClass('flex fadeOut animated');
仍然被解雇了。
这是JSBin
这是整个代码:
$( document ).ready(function() {
$( ".modal-link" ).on( "click", function() {
attribute = $(this).attr('href');
attribute = attribute.replace('#','');
console.log(attribute);
$('.modal-bg[data-modal='+ attribute +']').addClass( "flex animated fadeIn" );
$('.modal-bg[data-modal='+ attribute +'] .modal').addClass( "animated fadeInDown" );
});
$('.modal-close').on('click', function() {
modalBg = $(this).closest('.modal-bg');
modalBg.removeClass('fadeIn');
modalBg.addClass('fadeOut');
modalBg.one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",
function(e){
modalBg.removeClass('flex fadeOut animated');
$(this).off(e);
});
});
});
将 off(e) 替换为
$(this).off("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd");
相关文章:
- 在源节点上调用 stop() 是否会触发已结束的事件
- 当父事件结束时,子侦听器是否已销毁
- 检查开始日期是否小于结束日期(不使用任何pluguin)
- 检查日期是否大于一个月的第一个周结束日期
- jQuery - 检测 CSS 动画是否结束
- 是否有一种自动方法来确定(或查找)库的生命周期结束/支持终止通知
- 检查在捐赠开始日期和结束日期之间是否已有预留时间
- res.end() 是否结束了 async.waterfall
- 检查给定的开始日期和结束日期之间是否有可用的房间时间
- JavaScript -- Unity 检查动画是否已结束
- 如何显示/隐藏范围,具体取决于本地时间是否等于“开始日期”和“结束日期”Jquery之间
- 检测触摸开始/触摸结束是否取消了滚动(动量滚动)
- 无论是否有请求的结束事件;这就是区别
- 如果没有jquery,我需要确定鼠标是否在一个元素上,而不是确定它何时结束(以防它没有移动来触发onmouseover)
- 我怎么知道indexedDB请求循环是否已经结束
- 是否可以暂停while循环直到动画结束
- 在JS中是否可以定义regexp,当在输入结束时对给定文本进行测试时,该regexp会给出false
- 检查输入是否以特定字符结束
- 在promise .race中第一个promise被解析(拒绝)后执行是否结束
- 如何知道一个字符串是否结束