我目前正在使用下面的代码在点击时更改输入字段的颜色两次。
预期结果是背景颜色变为黑色,然后在变为白色之前等待(并保持白色直到用户再次点击该字段)。
但是,颜色会直接变为白色而忽略第一个黑色。我该如何解决?
$('input:text').focus(function () {
$(this).css('background','#000').delay(5000).css('background','#fff');
});
答案 0 :(得分:0)
如果要使用css(),则需要使用setTimeout。 css()没有动画,因此没有内部动画队列可以使用delay(),例如使用animate()。
$('input:text').on('focus', function () {
$(this).css('background','#000');
setTimeout(function(){
$(this).css('background','#fff');
}, 5000);
});