我想添加一个类,并在500毫秒后删除它。它不适用于delay()。举一个简单的例子,我在这里用背景色做:
的jQuery
$('.box').click(function(){
$('.box').addClass("bg1").delay(500).removeClass("bg1");
});
答案 0 :(得分:8)
您可以使用timeout
。
在您的情况下:jsfiddle
$('.box').on('click', function(){
var self = $(this);
self.addClass("bg1");
setTimeout(function(){
self.removeClass("bg1");
}, 500);
});
答案 1 :(得分:2)
使用超时或使用延迟,您需要将其放入队列:
$('.box').click(function () {
$('.box').addClass("bg1").dequeue().delay(500).queue(function () {
$(this).removeClass("bg1");
});
});
答案 2 :(得分:1)
jquery中的超时功能会给你更好的结果..
即
$('.box').click(function(){
$('.box').addClass("bg1");
setTimeout(function(){
$('.box').removeClass("bg1");
},500);
});
答案 3 :(得分:0)
使用:
setTimeout(function() {
// Do stuff
}, 500);
答案 4 :(得分:0)
$('.box').click(function(){
$('.box').addClass("bg1");
setTimeout(function() {
$('.box').removeClass("bg1")
}, 500);
});
可以这样做
答案 5 :(得分:-1)
试试这个:
$('.box').click(function(){
$('.box').addClass("bg1");
setTimeout("$('.box').removeClass('bg1')", 500);
});