JavaScript:检测 CSS3 动画何时结束

标签 javascript jquery css

我有简单的 ajax 表单,我需要当表单的所有事情都像 req.done 那样完成时,JavaScript 将等待 CSS3 动画并在 CSS3 之后显示 #vyhra动画结束。

我在代码的底部尝试了它,但它不起作用。

(function($) {

var form = $('#email-form');

form.on('submit', function(event) {
    event.preventDefault();

    var req = $.ajax({
        url: form.attr('action'),
        type: 'POST',
        data: form.serialize()
    });

    req.done(function(data) {
        console.log( data );
        $('.koleso').toggleClass('koleso-active');
        form.hide();

        if($('.koleso-active').addEventListener("animationend", listener, false)) {
            $('#vyhra').show();
        }

    });

});

}(jQuery));

最佳答案

浏览器通常会针对不同的操作触发不同的事件。

因此您需要监听所有这些,请参阅以下内容:

因此,如果 .koleso-active 启动 CSS 转换,您可以查看转换结束的文档,如下所示:

$(document).on("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function(event) {
    // Do stuff
});

工作 fiddle :https://jsfiddle.net/2fgnmxr8/1/

所以你的应该看起来像这样:

$(document).on("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function(event) {
    $('#vyhra').show();
}

尽管不能多次应用 .show()(因此在这种情况下,没关系),但您可能需要考虑防止它被多次触发。

关于JavaScript:检测 CSS3 动画何时结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283627/

相关文章:

javascript - JQuery Accordion 图像并排

javascript - 有更好的 onchange 吗?

javascript - 在 x 秒内未发出值后完成 rxjs 可观察

javascript - Jquery ajax页面根据post请求自动重定向

javascript - 使用 onclick() 更改图像

HTML CSS - Angular 对象具有不锐利的边缘

javascript - php bin2hex() 在 javascript 中解码

jquery - ng-repeat 排序箭头在 javascript 数据表中不起作用

c# - 通过 jQuery AJAX 调用从数据库中检索图像

css - 使边框可调整大小