我正在尝试制作一个每秒更改标题颜色的脚本, 我已经创建了一个函数,无论何时调用HTML元素和随机颜色,我都会使用setInterval();它不起作用!
function randomColor(elementId) {
var colors = ["red","green","blue","purple","lightblue","cyan","yellow","brown","pink","grey"];
var randomNumber = Math.floor(Math.random() * 10) + 1;
document.getElementById(elementId).style.color = colors[randomNumber];
}
setInterval(randomColor("Header"), 1000);
有人可以帮忙吗?谢谢!
注意: 当我刷新页面时,它只会改变一次颜色。
答案 0 :(得分:3)
因为你正在调用randomColor
并且该函数的结果被传递到setInterval
。
您应该可以正常传递包装版本。
setInterval(function() { randomColor("Header"); }, 1000);
答案 1 :(得分:2)
setInterval
函数将函数作为输入。在您的示例中,您正在执行randomColor("Header")
并将结果发送到setTimer
函数。
setInterval(function() { randomColor("Header") }, 1000);
答案 2 :(得分:1)
你应该在setInterval中发送一个函数作为arugment,如下所示:
setInterval(function(){randomColor("Header")}, 1000);