Javascript setInterval();不起作用?

时间:2017-01-25 18:24:36

标签: javascript jquery setinterval

我正在尝试制作一个每秒更改标题颜色的脚本, 我已经创建了一个函数,无论何时调用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);

有人可以帮忙吗?谢谢!

注意: 当我刷新页面时,它只会改变一次颜色。

3 个答案:

答案 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);