javascript - 快速改变css属性值?

标签 javascript jquery css

我有示例代码:

<div></div>
<button>
Go
</button>

div {
  width: 50px;
  height: 50px;
  border: 1px solid #ccc;
}

var bgs = ['red', 'blue', 'yellow', 'green', 'black'];
$('button').click(function() {
    for (var i = 0; i < bgs.length; i++) {
    $('div').css('background-color', bgs[i]);
  }
});

https://jsfiddle.net/e4jhwtyc/2/

我想要实现的是,当用户单击“Go”按钮时,用户将能够看到背景非常快速地从红色、蓝色、黄色、绿色,然后黑色变化。 但当单击“Go”按钮时,我得到的只是黑色。 我错过了什么吗?

最佳答案

您需要设置一些超时才能看到颜色的变化,否则它会发生得太快。

var bgs = ['red', 'blue', 'yellow', 'green', 'black'];
$('button').click(function() {
    for (var i = 0; i < bgs.length; i++) {
    setTimeout(function(){
      $('div').css('background-color','').css('background-color', bgs[i]);
    }, 1000);
  }
});

关于javascript - 快速改变css属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819572/

相关文章:

javascript - toastr 未定义

jquery - 如果按下按钮,有什么方法可以使图像大小为 %300?/已修复

css - Bootstrap IE7 模态关闭按钮对齐

javascript - jquery mobile listview 圆 Angular 问题

javascript - 为什么我无法从另一个 .js 文件访问一个 .js 文件中定义的 JavaScript 函数?

javascript - Socket.io 不从客户端向服务器发送数据

javascript - IIS 7.5 没有图像 css js 显示

javascript - 通过 jQUery 创建沙盒 iFrame

javascript - 如何将 Ajax 响应中的值附加到 JavaScript 中的数组?

javascript - 删除动态表单元素 jQuery