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'按钮点击