Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 随机数,随机颜色循环_Javascript_Html_Loops_Random - Fatal编程技术网

Javascript 随机数,随机颜色循环

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

我目前正在自学HTML/Javascript,一位同事提出了一些挑战

我正在尝试创建循环,它将显示3个介于1-99之间的随机数。每个都显示一种随机颜色。我做了一些搜索,但找不到任何包含我的循环的这四个方面的内容

下面是我到目前为止要做的事情。有没有办法把它转换成循环

非常感谢 克里斯


你好,世界!
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;i
getElementById
只接受一个参数,因此即使传递三个参数,它也只关心第一个参数,因此您应该将代码更改为类似以下内容:

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