如何在两次延迟之间改变背景颜色两次? jQuery的

时间:2016-11-26 16:45:20

标签: jquery css

我目前正在使用下面的代码在点击时更改输入字段的颜色两次。

预期结果是背景颜色变为黑色,然后在变为白色之前等待(并保持白色直到用户再次点击该字段)。

但是,颜色会直接变为白色而忽略第一个黑色。我该如何解决?

$('input:text').focus(function () {
    $(this).css('background','#000').delay(5000).css('background','#fff');
});

1 个答案:

答案 0 :(得分:0)

如果要使用css(),则需要使用setTimeout。 css()没有动画,因此没有内部动画队列可以使用delay(),例如使用animate()。

$('input:text').on('focus', function () {
    $(this).css('background','#000');

    setTimeout(function(){
        $(this).css('background','#fff');
    }, 5000);
});