在我的 Rails 应用程序中,当用户点击 Save 按钮时,我发送一个 Ajax 请求,当它发送请求时,我可以返回一些 jQuery。
我想做的是添加一个类(保存),延迟然后删除该类。
所以,我添加了这个:
$('.button').addClass('saving').delay(2000).removeClass('saving');
由于某种原因,它不起作用。我究竟做错了什么?
在我的 Rails 应用程序中,当用户点击 Save 按钮时,我发送一个 Ajax 请求,当它发送请求时,我可以返回一些 jQuery。
我想做的是添加一个类(保存),延迟然后删除该类。
所以,我添加了这个:
$('.button').addClass('saving').delay(2000).removeClass('saving');
由于某种原因,它不起作用。我究竟做错了什么?
.delay()实际上是用于动画的。
$('.button').addClass('saving');
setTimeout(function () {
$('.button').removeClass('saving');
}, 2000);
delay
仅适用于与动画相关的方法,您可以使用queue
方法:
$('.button').addClass('saving').delay(2000).queue(function( next ){
$(this).removeClass('saving');
next();
});
如果有人需要多个类的添加/删除,.dequeue(); 也需要正常运行。
$('.button').addClass('saving').delay(2000).queue(function(){
$(this).removeClass('saving');
$(this).dequeue();
});
试试这个也许:
$('.button').addClass('saving').delay(2000, function() {
$(this).removeClass('saving')
});
最短的方式。
$(".button").addClass("saving").show(0).delay(2000).removeClass("saving");