javascript - 使用 Javascript 将 Div 的背景颜色更改为变量的值

标签 javascript html css background styles

我一直在尝试将 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;
}

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)并输出它。

关于javascript - 使用 Javascript 将 Div 的背景颜色更改为变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35413553/

相关文章:

javascript - V8不会打印出反汇编

JavaScript window.scrollTo 替代方案

jquery - 在 jquery mobile 中加载多页文件

javascript - jQuery Datatables - 具有平面数组数据源的 Datatable <td> 中的自定义元素

javascript - 用户点击时显示图像?

javascript - this 关键字在构造函数行为内的回调函数中使用

javascript - 如何更改标签的文本?

css - 使用 css3 过渡定位多个 css 元素

javascript - 滚动悬停和文本跳跃

javascript - 如何在 IE 中打印横向多页?