javascript - 在循环中随机更改innerHTML颜色

标签 javascript html

我正在尝试运行一个循环,该循环将通过随机生成十六进制代码来不断改变颜色。我尝试在这里搜索,但找不到任何执行此操作的内容。

我不知道如何让循环运行并连续更改颜色(直到循环结束)。我是 JavaScript 新手。

这是我的 JSFiddle .

HTML

<body>
<div id="outer">
    <div id="test">Generate colors.</div>
</div>
</body>

JS

for ( i = 0; i < 20000; i++ ) {
    var t = document.getElementById('test');
    var z = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
    t.style.color = z
}

最佳答案

您无法在循环中更改颜色,在退出代码并将控制权返回给浏览器之前,元素的颜色不会更改。

您可以使用间隔来运行代码并每次将控件返回给浏览器:

window.setInterval(function(){
  var t = document.getElementById('test');
  var z = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
  t.style.color = z
}, 100);

演示:http://jsfiddle.net/et3qtr3t/

关于javascript - 在循环中随机更改innerHTML颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167464/

相关文章:

javascript - 网络音频 api 卷积器似乎没有输出零

HTML 背景不占用整个屏幕空间

CSS:标签垂直对齐 - 不适用于最后一个标签 - 为什么?

javascript - 在另一个可观察值之后使用 fork join 的更好方法

javascript - jquery 单击 div 上的绑定(bind),影响驻留在其中的文本框

javascript - 使用javascript增加字符串中第3次出现的数字

javascript - 将 JSON 中的 HTML 作为 Assemble 中的数据传递

html - 定位文本和文本输入字段列表

javascript - 带有 express Node js 服务器的 XMLhttpRequest

javascript - 多个数据系列的相同日期