Javascript 更改颜色代码不会';行不通
Javascript 更改颜色代码不会';行不通,javascript,html,Javascript,Html,函数颜色(){ var color=“#” 对于(var i=0;i您正在调用函数,而不是在setInterval调用中引用它 换成 setInterval(color, 1000); 将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是未定义 你所做的和我一样 var fn = color(); // returns undefined setInterval(fn, 1000); // undefined, 1000 您正在调用函数
函数颜色(){
var color=“#”
对于(var i=0;i您正在调用函数,而不是在setInterval
调用中引用它
换成
setInterval(color, 1000);
将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是未定义
你所做的和我一样
var fn = color(); // returns undefined
setInterval(fn, 1000); // undefined, 1000
您正在调用函数,而不是在setInterval
调用中引用它
换成
setInterval(color, 1000);
将括号添加到函数时,将调用该函数,并返回返回的结果,除非在被调用函数中定义了其他内容,否则返回的结果总是未定义
你所做的和我一样
var fn = color(); // returns undefined
setInterval(fn, 1000); // undefined, 1000
这里有一个工作片段。
我改变的是
onmousehave
被替换为oneclick()
(因为上面写的是单击按钮)
在setInterval
函数调用中,color
不需要括号
函数颜色(){
var color=“#”
对于(var i=0;i,这里有一个工作片段。
我改变的是
onmousehave
被替换为oneclick()
(因为上面写的是单击按钮)
在setInterval
函数调用中,color
不需要括号
函数颜色(){
var color=“#”
对于(var i=0;i,这里是一个工作示例
点击
函数颜色(){
var color=“#”
对于(变量i=0;i<6;i++){
颜色+=数学地板((数学随机()*16)).toString(16);
};
document.getElementsByTagName('body')[0].style.backgroundColor=color;
}
函数更改(){
设置间隔(color(),1000);
}
以下是一个工作示例
点击
函数颜色(){
var color=“#”
对于(变量i=0;i<6;i++){
颜色+=数学地板((数学随机()*16)).toString(16);
};
document.getElementsByTagName('body')[0].style.backgroundColor=color;
}
函数更改(){
设置间隔(color(),1000);
}
以下是您问题的解决方案
函数颜色变换器(){
setInterval(函数(){
变量字母='0123456789ABCDEF'。拆分('');
var color='#';
对于(变量i=0;i<6;i++){
颜色+=字母[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor=颜色;
},300);
}
变色
以下是您问题的解决方案
函数颜色变换器(){
setInterval(函数(){
变量字母='0123456789ABCDEF'。拆分('');
var color='#';
对于(变量i=0;i<6;i++){
颜色+=字母[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor=颜色;
},300);
}
变色
我对一些代码进行了更改,您可以在plunker中找到
<https://plnkr.co/edit/sKpJQqRohICD63AQjgTx?p=preview>
我对一些代码进行了更改,您可以在plunker中找到
<https://plnkr.co/edit/sKpJQqRohICD63AQjgTx?p=preview>
< /代码>这不回答你的问题(“AdENO已经处理过了”),而不是生成6个单独的十六进制代码,考虑做<代码>数学.Load(Madio.Read)(0xFFFFFF)。toStand(16)< /Cl>——它将有更多的性能,理论上也有更好的熵在大多数<代码> Mault.Read < /Clult>实现。此外,它的代码更少。这并不能回答你的问题(AdENO已经处理过),但是不要生成6个单独的十六进制代码,考虑做<代码> Madio.Load(Max.Read)(0xFFFFFF)。toStand(16)< /Cl>——这将是一个更高的性能,而且理论上在大多数<代码>数学上有更好的熵。在回答中添加了更多的解释在回答中添加了更多的解释这并没有回答问题,并进行了一系列其他不相关的更改,同时也使代码比需要的复杂得多。我只调用了一个函数。这段代码复杂吗?这段代码比你的代码简单,我认为编辑修复了p问题。我的其他批评意见站得住脚。这并没有回答问题,并且做了一系列其他不相关的更改,同时也使代码比需要的复杂得多。我只调用了一个函数。这段代码复杂吗?我想这段代码比你的代码简单,所以编辑可以解决问题。我的其他批评意见站得住脚。这段代码如何解决问题问题?它仍在调用color
而不是将其传递到setInterval
。这如何解决问题?它仍在调用color
而不是将其传递到setInterval
。