jQuery - 添加一个类并在500ms后删除它

时间:2013-12-19 14:59:58

标签: jquery html css

我想添加一个类,并在500毫秒后删除它。它不适用于delay()。举一个简单的例子,我在这里用背景色做:

code pen

的jQuery

$('.box').click(function(){

 $('.box').addClass("bg1").delay(500).removeClass("bg1");
});

6 个答案:

答案 0 :(得分:8)

您可以使用timeout

在您的情况下:jsfiddle

$('.box').on('click', function(){

    var self = $(this);

    self.addClass("bg1");

    setTimeout(function(){
        self.removeClass("bg1");
    }, 500);

});

答案 1 :(得分:2)

使用超时或使用延迟,您需要将其放入队列:

DEMO

$('.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);
});