JavaScript随机生成颜色功能

2023-11-17

思路

实现一个函数,随机生成颜色,格式为 #000000

  • 颜色由a-f|A-F|0-9 3种字母任意组成
  • #后面是3位或者6位
  • 只要随机生成一个数字是奇数或者偶数来随机出是3位或者6位
  • 然后在随机其下标循环上面步骤确认的次数

function randomColor(){
    const color = ['a','b','c','d','e','f','A','B','C','D','E','0','1','2','3','4','5','6','7','8','9']
    // 三位和六位,都是有用的二进制颜色  设置type为奇数就是3,偶数就是6位
    const type = ~~(Math.random() * 10 + 1)
    // 循环的长度
    let len = type % 2 == 0 ? 3 : 6 
    // 存放结果
    let ans = ''
    for(let i = 0; i < len;i++) {
        //这里循环随机得到数组下标
        let index = ~~(Math.random() * color.length)
        ans += color[index]
    }
    return '#' + ans
}
console.log(randomColor());

常见的应用 ———— 背景颜色随机

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>随机生成颜色</title>
    <style>
       #background{
           width: 400px;
           height: 400px;
           margin: auto;
           background-color: antiquewhite;
       }
    </style>
</head>
<body>
    <div id="background"></div>
    <script>
        function randomColor(){
            const color = ['a','b','c','d','e','f','A','B','C','D','E','0','1','2','3','4','5','6','7','8','9']
            // 三位和六位,都是有用的二进制颜色  设置type为奇数就是3,偶数就是6位
            const type = ~~(Math.random() * 10 + 1)
            // 循环的长度
            let len = type % 2 == 0 ? 3 : 6 
            // 存放结果
            let ans = ''
            for(let i = 0; i < len;i++) {
                //这里循环随机得到数组下标
                let index = ~~(Math.random() * color.length)
                ans += color[index]
            }
            return '#' + ans
        }
        let background = document.getElementById('background')
        setInterval(() => {
            background.style.backgroundColor = randomColor()
        },3000)
    </script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript随机生成颜色功能 的相关文章

  • 由于 apollo-client 未定义,无法解构 GraphQL 查询?

    我正在寻找调试与错误消息相关的问题 未捕获的类型错误 无法解构 0 apollo client WEBPACK IMPORTED MODULE 4 useQuery 因为它未定义 Context 我正在为我的 React js 项目设置后端
  • Chart.js 在初始化时设置活动段

    我正在使用 Chart js v2 并且尝试在加载图表时模拟圆环图上某个段的 悬停状态 因此看起来有一个部分已突出显示 我已经搜索和梳理了代码一天 但找不到一个好的方法来做到这一点 提前致谢 设置片段的悬停样式有点令人困惑 因为它没有真正记
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • 图像无法在带有 DOM 的 IE 中加载:控制台中的 7009 错误(无法解码)

    当在 IE 中的单个页面上加载许多图像时 在 IE11 中重现 其中一些图像开始加载失败 并在控制台中出现类似以下警告的内容 DOM7009 无法解码 URL 处的图像 某些唯一的 url 当我查看网络流量时 似乎确实从服务器收到了每个图像
  • 带有淘汰赛js的隐形recaptcha

    我正在完成隐形验证码 但我在实现它时遇到问题 谷歌开发人员页面中的代码显示它应该是这样的
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • 隐藏 Div 的父级

    我只是想隐藏父divcomments section div class content content green div div div 我试过这个 document getElementById comments section pa
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro

随机推荐

  • oracle查询结果添加序列,SQL查询结果增加序列号

    SQL查询记录中增加序列号 根据学生成绩在查询结果中增加排名字段 1 SELECT ROW NUMBER OVER ORDER BY SCORE ASC AS RANK NAME SCORE FROM GRADE ORDER BY SCOR
  • vue-element-admin使用Tinymce富文本插件的踩坑填坑

    vue element admin项目的作者已经封装好了Tinymce富文本组件 我直接在Git上下载demo运用到自己项目里 这是Git地址 https github com PanJiaChen vue element admin 一
  • [0x7FFBFB69D3E0] ANOMALY: meaningless REX prefix used问题的修复

    0x7FFBFB69D3E0 ANOMALY meaningless REX prefix used 困扰了我几个礼拜 导致idea git 用不了 差点重装系统了 今天还好 解决了 用360 各种修复 各种操作 cmd 没有那串东西咯 各
  • 宏观经济浅学20210724

    https www bilibili com video BV1Ng4y1B7ig p 14 8大类 251个基本分类 700个品种 120万个商品
  • 写一篇有关机器学习的论文

    写一篇有关机器学习的论文 需要从以下几个方面进行阐述 机器学习的定义 首先要明确机器学习的定义 并简要介绍其历史发展 机器学习的分类 接着介绍机器学习的分类方法 例如监督学习 非监督学习 半监督学习 强化学习等 机器学习的应用 最后详细阐述
  • 智能城市dqn算法交通信号灯调度_新基建激发AI新动力,助推人工智能产业化落地进程...

    8月7日 9日 由中国计算机学会主办 香港中文大学 深圳 雷锋网联合承办的全球人工智能和机器人峰会在深圳开幕 峰会期间揭晓了 2020AI 最佳成长榜 千方科技旗下博观智能凭借在智慧城市多个细分领域的商用落地实力 斩获 AI 智慧城市 领域
  • python判断语句

    判断语句 if if 语句的判断语法 if 要判断的条件 条件成立时 要做的事情 else语法格式如下 if 要判断的条件 条件成立时 要做的事情 else 条件不成立 要做的事情 逻辑运算 只有多个条件都满足 才能执行后续代码 这个时候需
  • 两张动图-彻底明白TCP的三次握手与四次挥手

    背景描述 通过上一篇中网络模型中的IP层的介绍 我们知道网络层 可以实现两个主机之间的通信 但是这并不具体 因为 真正进行通信的实体是在主机中的进程 是一个主机中的一个进程与另外一个主机中的一个进程在交换数据 IP协议虽然能把数据报文送到目
  • C++课程设计之高校学生简单信息管理系统

    给大家分享一个用C 语言编写的高校学生信息管理系统 程序比较简单 也比较好理解 适合刚入门C 的程序小白 大学生做C 相关的课程设计也可以给你提供一些思路 或者在此基础上修改一下 添加一些自己的类和成员函数 让系统的功能更加的强大 系统功能
  • iOS APP 启动页和icon图标尺寸

    前言 记录一下竖屏iPhone启动页和icon图标尺寸 好记性不如烂笔头 1 启动页尺寸 320x480 640x960 640x1136 750x1334 1125x2436 1242x2208 1242x2688 828x1792 2
  • chatgpt小程序安装指引

    chatgpt小程序安装指引 JAVA 创建数据库 名字随意 数据库编码为utf8mb4 导入sql文件 在renren api db目录下面 第一次导入数据的先执行chatgpt sql文件 在根据日期先后顺序执行 已导入过的同志 根据更
  • html chm 打不开,Win7系统中出现CHM打不开的具体解决方法

    一部分用户在使用Win7系统的时候 出现CHM打不开的情况 该怎么处理呢 下文就为你们带来了Win7系统中出现CHM打不开的具体解决方法 方法一 1 可以对注册表进行操作 按快捷键 Win R 启动 运行 程序 2 在 运行 程序的输入框中
  • 舒尔补-边际概率-条件概率

    margin求边际概率的时候喜欢通过舒尔补的形式去操作信息矩阵 如p b c 求积分p a b c da 从上图可知 边缘概率直接看协方差矩阵比较方便 边际概率的方差就是取对应联合分布中相应的协方差块 信息矩阵是由舒尔补的形式计算 此形式也
  • GBDT调参指南

    GBDT分类器和回归器的大部分参数都是相同的 除了损失函数的选项有些不同 因此下面我们统一说明各个参数的意义以及在什么情境下做什么调整方法 一 GBDT的boosting框架参数 1 n estimators 代表弱学习器的最大个数 即最多
  • Python+OpenCV人脸识别签到考勤系统

    前言 本项目为IOT实验室人员签到考勤设计 系统实现功能 1 人员人脸识别并完成签到 签退 2 考勤时间计算 3 保存考勤数据为CSV格式 Excel表格 PS 本系统2D人脸识别 节约了繁琐的人脸识别训练部分 简洁快捷 该项目为测试版 正
  • mac电脑的C语言安装包,Mac上运行C/C++程序

    由于工作需要 要在Mac环境里面运行C程序 遇到的问题及解决方法如下 1 确认环境里是否安装了command line developer tools 打开Terminal终端 输入g 提示 xcrun error invalid acti
  • (新)Chrome浏览器自定义背景插件

    一 效果预览 二 项目回顾 1 原理 主要是利用js脚本在页面打开前插入一个背景图片容器 在通过相应的事件控制来实现该功能 2 功能 将网络图片设置为浏览器背景 3 使用 下载插件 gt 修改js文件 加入图片链接 添加浏览器扩展 gt 刷
  • C++学习记录6--srand(time(NULL)产生随机数

    time 函数 返回从1970 1 1 00 00 00到调用time 函数时所经过的时间 以秒为单位 所以是个整数 time NULL 或time 0 表示在内存中不存储返回的数值 头文件 include
  • 如何保证测试用例覆盖全面

    测试用例覆盖度一般是从以下几方面衡量的 1 测试需求的覆盖 保证所有需求都已经设计用例 2 测试特性的覆盖 保证所有不同类型已覆盖 如 功能测试 性能测试等 3 平台与层次的覆盖 保证所有平台有用例覆盖 不同层次都有设计用例 如业务层 接口
  • JavaScript随机生成颜色功能

    思路 实现一个函数 随机生成颜色 格式为 000000 颜色由a f A F 0 9 3种字母任意组成 且 后面是3位或者6位 只要随机生成一个数字是奇数或者偶数来随机出是3位或者6位 然后在随机其下标循环上面步骤确认的次数 functio