Javascript setInterval();不工作? [复制]

Posted

技术标签:

【中文标题】Javascript setInterval();不工作? [复制]【英文标题】:Javascript setInterval(); does not work? [duplicate] 【发布时间】:2017-01-25 18:24:36 【问题描述】:

我正在尝试制作一个每秒更改标题颜色的脚本, 我制作了一个函数,该函数在调用时使用随机颜色设置 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);

有人可以帮忙吗?谢谢!

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

【问题讨论】:

见***.com/q/457826/256305 【参考方案1】:

这是因为您正在调用randomColor,并且该函数的结果被传递到setInterval

你应该能够很好地传递一个包装的版本。

setInterval(function()  randomColor("Header"); , 1000);

【讨论】:

【参考方案2】:

setInterval 函数将函数作为输入。在您的示例中,您正在执行 randomColor("Header") 并将结果发送到 setTimer 函数。

setInterval(function()  randomColor("Header") , 1000);

【讨论】:

【参考方案3】:

您应该在 setInterval 中发送一个函数作为参数,如下所示:

setInterval(function()randomColor("Header"), 1000);

【讨论】:

以上是关于Javascript setInterval();不工作? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:setInterval'Resumes'而不是'Reset'按钮点击

JavaScript中的setInterval用法

使用 setInterval 调用的 Javascript 绑定

JavaScript中setInterval关闭问题

JavaScript中setInterval关闭问题

javascript 用 clearinterval 停止 setinterval