我正在尝试用 Javascript 制作一个按钮,单击该按钮会将背景颜色更改为随机颜色。
我的代码在第一次点击时运行良好,但在后续点击时不起作用。
在没有任何 jquery 的情况下,我该怎么做才能在纯 javascript 中修复此问题。谢谢!
var buton=document.getElementById("buton");
var randcol= "";
var allchar="0123456789ABCDEF";
buton.addEventListener("click",myFun);
function myFun(){
for(var i=0; i<6; i++){
randcol += allchar[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor= "#"+randcol;
}
最佳答案
问题是您在执行后没有重置 randcol
。您不断添加到以前的值,因此第一次它是一个有效的颜色代码,但下一次它不是一个有效的颜色代码。
因此,在执行for
循环之前,将randcol
重置为空字符串
var buton=document.getElementById("buton");
var allchar="0123456789ABCDEF";
buton.addEventListener("click",myFun);
function myFun(){
var randcol= "";
for(var i=0; i<6; i++){
randcol += allchar[Math.floor(Math.random()*16)];
}
document.body.style.backgroundColor= "#"+randcol;
}
<button id="buton">click me</button>
关于javascript - 在纯 Javascript 中每次单击都会更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373407/