使用 Javascript 将 Div 的背景颜色更改为变量值
Change background color of Div to value of variable using Javascript
我一直在尝试将 div 的颜色更改为随机生成的十六进制颜色代码,并将其传递到变量中。我该怎么做?
HTML
<p id="demo">NULL</p>
<button onclick="generatePassword()">Generate</button>
<div id="showcase" style="background: #FFFFFF; width: 200px; height: 200px; margin: 20px; border-radius: 3px;"></div>
JAVASCRIPT
var result = document.getElementById('demo').innerHTML;
function generatePassword() {
var length = 6,
charset = "ABCDEF0123456789",
retVal = "";
for (var i = 0, n = charset.length; i < length; ++i) {
retVal += charset.charAt(Math.floor(Math.random() * n));
}
document.getElementById('demo').innerHTML = "#" + retVal;
return document.getElementById('showcase').style.backgroundColor = retVal;
}
Link 到 fiddle:https://jsfiddle.net/elliotsoomro/gngg89t5/5/
您快搞定了,这是解决方法:https://jsfiddle.net/yL1uu6bz/1/
var result = document.getElementById('demo').innerHTML;
function generatePassword() {
var length = 6,
charset = "ABCDEF0123456789",
retVal = "";
for (var i = 0, n = charset.length; i < length; ++i) {
retVal += charset.charAt(Math.floor(Math.random() * n));
}
var finalVal = "#" + retVal;
document.getElementById('demo').innerHTML = finalVal;
return document.getElementById('showcase').style.backgroundColor = finalVal;
}
我只是添加了散列符号,并以与输出值相同的方式附加它 ("#" + retVal
),我将其添加到变量 (finalVal
) 中并输出相反。
我一直在尝试将 div 的颜色更改为随机生成的十六进制颜色代码,并将其传递到变量中。我该怎么做?
HTML
<p id="demo">NULL</p>
<button onclick="generatePassword()">Generate</button>
<div id="showcase" style="background: #FFFFFF; width: 200px; height: 200px; margin: 20px; border-radius: 3px;"></div>
JAVASCRIPT
var result = document.getElementById('demo').innerHTML;
function generatePassword() {
var length = 6,
charset = "ABCDEF0123456789",
retVal = "";
for (var i = 0, n = charset.length; i < length; ++i) {
retVal += charset.charAt(Math.floor(Math.random() * n));
}
document.getElementById('demo').innerHTML = "#" + retVal;
return document.getElementById('showcase').style.backgroundColor = retVal;
}
Link 到 fiddle:https://jsfiddle.net/elliotsoomro/gngg89t5/5/
您快搞定了,这是解决方法:https://jsfiddle.net/yL1uu6bz/1/
var result = document.getElementById('demo').innerHTML;
function generatePassword() {
var length = 6,
charset = "ABCDEF0123456789",
retVal = "";
for (var i = 0, n = charset.length; i < length; ++i) {
retVal += charset.charAt(Math.floor(Math.random() * n));
}
var finalVal = "#" + retVal;
document.getElementById('demo').innerHTML = finalVal;
return document.getElementById('showcase').style.backgroundColor = finalVal;
}
我只是添加了散列符号,并以与输出值相同的方式附加它 ("#" + retVal
),我将其添加到变量 (finalVal
) 中并输出相反。