Javascript 随机数,随机颜色循环
我目前正在自学HTML/Javascript,一位同事提出了一些挑战 我正在尝试创建循环,它将显示3个介于1-99之间的随机数。每个都显示一种随机颜色。我做了一些搜索,但找不到任何包含我的循环的这四个方面的内容 下面是我到目前为止要做的事情。有没有办法把它转换成循环 非常感谢 克里斯Javascript 随机数,随机颜色循环,javascript,html,loops,random,Javascript,Html,Loops,Random,我目前正在自学HTML/Javascript,一位同事提出了一些挑战 我正在尝试创建循环,它将显示3个介于1-99之间的随机数。每个都显示一种随机颜色。我做了一些搜索,但找不到任何包含我的循环的这四个方面的内容 下面是我到目前为止要做的事情。有没有办法把它转换成循环 非常感谢 克里斯 你好,世界! 10个随机彩色数字 document.getElementById(“no1”、“no2”、“no3”).innerHTML= Math.floor(Math.random()*101) do
你好,世界!
10个随机彩色数字
document.getElementById(“no1”、“no2”、“no3”).innerHTML=
Math.floor(Math.random()*101)
document.getElementById(“no1”、“no2”、“no3”).style.color=
“#”+(Math.random()*0xFFFFFF您提供了document.getElementById
三个参数,但它只能接受一个参数。您希望它能为您循环三个ID,但它不能–您必须自己进行循环
//失败,因为getElementById只接受一个参数
document.getElementById(“no1”、“no2”、“no3”)
//工作(获取一个元素)
document.getElementById(“no1”)
使用循环的第一步是知道传递变量而不是文本字符串也可以:
var firstId=“no1”
//工作(获取一个元素)
document.getElementById(firstId)
您必须知道的另一件事是如何编写循环。有几种方法可以用JavaScript编写循环,包括while
和for
以及更高级但更短的方法,如.forEach
和reduce
在本例中,我建议使用一个循环,从1到3对数字进行计数。(这实际上不是最简单的方法,因为您有三个字符串,如“no1”
您正在循环,但这样以后可以更轻松地切换到动态向页面添加颜色,而无需事先手动写入三个p
元素。)对于此数字循环,您可以使用For
循环:
for(var i=1;igetElementById
只接受一个参数,因此即使传递三个参数,它也只关心第一个参数,因此您应该将代码更改为类似以下内容:
document.getElementById("no1").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no1").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);
document.getElementById("no2").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no2").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);
document.getElementById("no3").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no3").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);
document.getElementById(“no1”).innerHTML=
Math.floor(Math.random()*101)
document.getElementById(“no1”).style.color=
“#”+(Math.random()*0xFFFFFF从这里开始:(等)我的建议是,用英语写下你希望这段代码做什么。这种伪代码将帮助你找出PEICE的位置,然后你可以在你找到它的时候正确地使用语法。参考文档是MDN,尽可能避免w3schools MDN中的相关文档:,,非常有用,谢谢。很高兴成为堆栈的一部分溢出社区
document.getElementById("no1").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no1").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);
document.getElementById("no2").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no2").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);
document.getElementById("no3").innerHTML =
Math.floor(Math.random() * 101)
document.getElementById("no3").style.color =
'#' + (Math.random() * 0xFFFFFF << 0).toString(16);