[英]jQuery AddClass then removing a class
In my Rails application, I send an Ajax request when the user hits the Save button, when it sends the request, I can return some jQuery.在我的 Rails 应用程序中,当用户点击保存按钮时,我发送一个 Ajax 请求,当它发送请求时,我可以返回一些 jQuery。
What I'd like to do is add a class (saving), have a delay and then remove the class.我想做的是添加一个类(保存),延迟然后删除该类。
So, I added this:所以,我添加了这个:
$('.button').addClass('saving').delay(2000).removeClass('saving');
For some reason, it isn't working.由于某种原因,它不起作用。 What am I doing wrong?
我究竟做错了什么?
.delay() is actually for animations. .delay()实际上是用于动画的。
Use setTimeout()使用setTimeout()
$('.button').addClass('saving');
setTimeout(function () {
$('.button').removeClass('saving');
}, 2000);
delay
only works with animation-related methods, you can use queue
method: delay
只适用于动画相关的方法,你可以使用queue
方法:
$('.button').addClass('saving').delay(2000).queue(function( next ){
$(this).removeClass('saving');
next();
});
If someone needs more than one adding/removing of the class, .dequeue();如果有人需要不止一个添加/删除类,.dequeue(); is also requered to function properly.
还需要正常运行。
$('.button').addClass('saving').delay(2000).queue(function(){
$(this).removeClass('saving');
$(this).dequeue();
});
Try this maybe:试试这个也许:
$('.button').addClass('saving').delay(2000, function() {
$(this).removeClass('saving')
});
最短的路。
$(".button").addClass("saving").show(0).delay(2000).removeClass("saving");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.