我的背景在每次单击按钮时都会随机改变颜色。是否可以保证每次点击的颜色都不同(避免连续2-3次生成相同颜色的可能性)? .js 文件的源代码如下(HTML 基本上只是按钮)。
var bgcolorlist, btn;
function newColor() {
bgcolorlist = '#'+Math.floor(Math.random()*16777215).toString(16);
document.body.style.backgroundColor = bgcolorlist;
}
function initAll() {
btn = document.getElementById('click1');
btn.addEventListener('click', newColor, false);
}
initAll();
最佳答案
尝试以下操作:
var bgcolorlist, btn;
var colorList = [];
function newColor() {
bgcolorlist = '#'+Math.floor(Math.random()*16777215).toString(16);
while(colorList.indexOf(bgcolorlist) != -1){
bgcolorlist = '#'+Math.floor(Math.random()*16777215).toString(16);
}
colorList.push(bgcolorlist);
document.body.style.backgroundColor = bgcolorlist;
}
function initAll() {
btn = document.getElementById('click1');
btn.addEventListener('click', newColor, false);
}
initAll();
关于javascript - 随机背景颜色 : is it possible for colour to be different for every click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38965568/