然后jQuery AddClass删除一个类

时间:2013-01-21 21:34:25

标签: javascript jquery

在我的Rails应用程序中,当用户点击Save按钮时发送Ajax请求,当它发送请求时,我可以返回一些jQuery。

我想做的是添加一个类(保存),有延迟然后删除该类。

所以,我补充说:

$('.button').addClass('saving').delay(2000).removeClass('saving');

出于某种原因,它无法正常工作。我做错了什么?

5 个答案:

答案 0 :(得分:31)

.delay()实际上是动画。

使用 setTimeout()

$('.button').addClass('saving');

setTimeout(function () { 
    $('.button').removeClass('saving');
}, 2000);

答案 1 :(得分:12)

delay仅适用于与动画相关的方法,您可以使用queue方法:

$('.button').addClass('saving').delay(2000).queue(function( next ){
    $(this).removeClass('saving'); 
    next();
});

http://jsfiddle.net/Rp6Xw/44/

答案 2 :(得分:3)

如果某人需要多个添加/删除该类,.dequeue();也被重新加以正常运作。

$('.button').addClass('saving').delay(2000).queue(function(){
   $(this).removeClass('saving'); 
   $(this).dequeue();
});

答案 3 :(得分:1)

尝试这个:

$('.button').addClass('saving').delay(2000, function() {
    $(this).removeClass('saving')
});

答案 4 :(得分:0)

最短路径。

$(".button").addClass("saving").show(0).delay(2000).removeClass("saving");