我正在尝试运行一个循环,该循环将通过随机生成十六进制代码来不断改变颜色。我尝试在这里搜索,但找不到任何执行此操作的内容。
我不知道如何让循环运行并连续更改颜色(直到循环结束)。我是 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);
关于javascript - 在循环中随机更改innerHTML颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167464/