jquery延迟不算作动画

时间:2016-03-16 20:34:01

标签: javascript jquery html animation

我正在尝试使用promises按钮点击后制作动画。但无论我做什么,它仍然会让我继续点击。

我正在显示一些Bootstrap表单验证器类,然后将其删除。像这样:

messageEffect : function(container) {
                return container.fadeIn(100).delay(1000).fadeOut();
            },

$.when(this.messageEffect($container)).done(function() { 
                    $container.empty();
                    $icon.remove();
                    $group.removeClass('has-feedback has-' + alertType);
                });

我在某些东西之后调用了这个名为“showAlert()”的函数,如果出现问题,我会在输入字段下面显示错误信息。

事情是,如果我一直点击并点击,它会垃圾邮件跨越,直到它们(当然)因动画而消失。

我尝试使用('div-that-is-animating').is(':animated')但没有用,我仍然可以发送垃圾邮件。

在尝试调用此“showAlert()”函数之前,我还尝试进行切换和单击的解除绑定,但也无法正常工作。

是不是因为延迟(1000)不像动画一样?或者我还能尝试什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

看看这是否有效(假设您的按钮ID为myButton):

messageEffect : function(container) {
                $('#myButton').attr('disabled', true);
                return container.fadeIn(100).delay(1000).fadeOut();
            },

$.when(this.messageEffect($container)).done(function() { 
                    $('#myButton').attr('disabled', false);
                    $container.empty();
                    $icon.remove();
                    $group.removeClass('has-feedback has-' + alertType);
                });