为什么我的循环不能在JavaScript中工作?

为什么我的循环不能在JavaScript中工作?,javascript,jquery,html,Javascript,Jquery,Html,我想把一段文字的颜色从红色改成蓝色,再改成绿色。我尝试的多个循环都没有成功,我在下面列出了其中的一个 编辑: 我意识到我在这段代码中犯了一个巨大的错误,这就是为什么它没有循环。原谅我。由于我编写代码的方式,它将立即变为绿色 var one=document.getElementById(“titleTwo”); 对于(变量i=0;i

我想把一段文字的颜色从红色改成蓝色,再改成绿色。我尝试的多个循环都没有成功,我在下面列出了其中的一个

编辑: 我意识到我在这段代码中犯了一个巨大的错误,这就是为什么它没有循环。原谅我。由于我编写代码的方式,它将立即变为绿色

var one=document.getElementById(“titleTwo”);
对于(变量i=0;i<21;i++){
one.style.color=“红色”;
one.style.color=“蓝色”;
one.style.color=“绿色”;
}

学会编码!
欢迎来到

编码俱乐部

看起来
delay()
不是一个函数!在JavaScript中,可以使用
setTimeout(functionname,毫秒,arg1,arg2,arg3…)设置延迟。希望这是有帮助的


one.delay
不会延迟任何东西,因为它不是预先制作的JavaScript函数。使用
setTimeout(函数、时间)其中时间以毫秒为单位。另外,使用
one.style.color()
设置颜色。它不是
for
循环,而是循环中的代码


setTimeout()

您不能使用循环来完成此操作,但css:

<style> 
   @keyframes altercolor { 
      0% {color: red} 
      50% {color: blue} 
      75% {color: green}
      100% {color: red}
   } 
   .altering-color { 
      animation: altercolor 2s infinite; 
   } 
</style>

<p id="titleTwo" class="altering-color">Coding Club!</p>

@关键帧更改颜色{
0%{颜色:红色}
50%{颜色:蓝色}
75%{颜色:绿色}
100%{颜色:红色}
} 
.改变颜色{
动画:altercolor 2s无限;
} 
编码俱乐部

函数
delay()
是一个jQuery函数。它在普通Javascript中无效。另外,
delay()
函数用于延迟动画,而不是样式属性

一个简单的Javascript解决方案是使用
setInterval
在每个时间间隔执行一个函数(例如,像我这样每500毫秒执行一次):

var one=document.getElementById(“titleTwo”);
设置间隔(changeColor,500);
函数changeColor(){
var color=one.style.color;
if(color='red'){one.style.color='blue';}
else if(color='blue'){one.style.color='green';}
else one.style.color='red';
}

学会编码!
欢迎来到

编码俱乐部


您应该学习如何使用javascript控制台。它对于javascript调试至关重要。
one.delay不是一个函数
加上其他函数……我如何使用控制台?你能给我链接一个能帮助我的资源吗@chevybow使用(点击
F12
)并读取任何错误。或
setInterval
-为什么在循环中使用
setTimeout
one.style.color()
不是有效的JS函数!另外,为什么在循环中使用
setTimeout
?您可以使用
setInterval
instead我已经使用one.style.color=“color”来更改颜色,它工作正常(循环部分除外)。@Stocker嗯,代码片段在我的浏览器上工作正常。并且
setInterval
会一直执行,直到调用
clearInterval
。我不明白为什么这不起作用,请确保您在JS中正确地包含了这段代码。谢谢,我会再试一次。编辑:它起作用了!Idk发生了什么我会再检查一遍。@Stocker很高兴这对你有用!如果这个解决方案有帮助,请考虑投票/标记作为答案。当然!另外,我对stack还不熟悉,有没有想过为什么我会被否决?不知道,你的问题表达得很好,并且显示出一种尝试。我也不知道为什么我自己的答案也被否决了。
infinite
属性让它永远运行下去。你使用了它吗?我完全复制了代码,但我可能做错了什么,所以我会再试一次,让你知道。我还认为循环不是问题,这是我的代码。我在这个沙箱中测试了它,它工作了: