使用JavaScript实现随机颜色生成器

目录
  • 项目基本结构
  • 1.颜色生成器的基本结构
  • 2.使用 HTML 添加标题
  • 3.创建用于颜色查看的显示器
  • 4.创建一个框以查看颜色代码
  • 5.创建生成器和复制按钮
  • 6.使用 JavaScript 激活随机颜色生成器
  • 完整源码下载

在线演示地址

项目基本结构

目录结构如下:

1.颜色生成器的基本结构

我使用了以下的 HTML 和 CSS 代码创建了这个颜色生成器的基本结构。在添加所有信息的页面上创建了一个小框,框的背景颜色为白色。

<div class="container">

</div>
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border: none;
    outline: none;
    font-family: sans-serif;
}

body{
    background-color: #0574c8;
}

.container{
    background-color: white;
    width: 60vmin;
    padding: 2.5em 1.1em;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    font-size: 3vmin;
    border-radius: 10px;
}

2.使用 HTML 添加标题

现在,我们使用 HTML 的 h1 标签在此框中添加一个标题来增强一下美感,并在 CSS 的帮助下进行了设计。

<h1>Color Generator</h1>
.container h1{
  font-size: 27px;
  text-align: center;
  margin-top: -20px;
  color: #09599a;
  margin-bottom: 20px;
}

3.创建用于颜色查看的显示器

HTML 和 CSS 代码有助于创建显示,显示器基本上是通过产生颜色来观看的。每当你点击生成按钮时,都可以在此显示中看到颜色。它的宽度为 100%,高度为 30vmin,并用了箱形阴影来增强美感。

<div id="output-color">
    <span></span>
 </div>
#output-color{
    position: relative;
    height: 30vmin;
    width: 100%;
     box-shadow: 0 0 20px rgba(0,139,253,0.25);
    border: 2px solid #ffffff;
    margin: auto;
    display: grid;
    margin-bottom: 15px;
    place-items: center;
}

#output-color span{
    display: block;
    width: 100%;
    height: 100%;

}

我们使用下面的 CSS 添加一种动画,只要在显示器中可以看到这种颜色,就会出现一种动画。

.show-color{
    animation: pop 0.8s;
}
@keyframes pop{
    0%{
        transform: scale(0);
    }
    100%{
        transform: scale(1);
    }
}

4.创建一个框以查看颜色代码

现在我们创建一个小盒子,可以看到这个生成颜色的代码。

 <input type="text" id="output" readonly>
input[type="text"]{
    width: 100%;
    background-color: transparent;

    box-shadow: 0 0 20px rgba(0,139,253,0.65);
    font-size: 1.3em;
    padding: 0.3em 0;

    margin: 1em 0;
    border-radius: 5px;
    color: #000000;
    text-align: center;
}
input[type="text"]::-moz-selection{
    background: transparent;
}
input[type="text"]::selection{
    background: transparent;
}

5.创建生成器和复制按钮

现在创建两个按钮来生成颜色和复制颜色,按钮的宽度为 120 像素,高度取决于填充。

 <div class="btns">
     <button id="gen-btn">Generate</button>
     <button id="copy-btn">Copy</button>
 </div>
.btns{
    display: flex;
    margin-top: 15px;
    justify-content: space-around;
}
.btns button{
    font-size: 1.03em;
    padding: 0.8em 1.7em;
    border-radius: 7px;
    width: 120px;
    font-weight: 600;
    cursor: pointer;
}

以下 CSS 代码有助于为两个按钮添加不同的背景颜色。第一个按钮外壳添加了蓝色,第二种添加了红色,你也可以根据自己的喜好更改背景颜色。

#gen-btn{
    background-color: #205e94;
    color: #ffffff;
}
#copy-btn{

    background-color: #d23332;
    color: #ffffff;
}

6.使用 JavaScript 激活随机颜色生成器

上面我们已经设计了这个项目的基础结构,现在是使用 JavaScript 实现它的时候了。

首先我一一设置了两个按钮的颜色显示、颜色代码和ID功能。

let outputColor = document.querySelector("#output-color span");
let output = document.getElementById("output");
let genBtn = document.getElementById("gen-btn");
let copyBtn = document.getElementById("copy-btn");

然后我使用了 HexString。它是一个二进制值,相互结合形成颜色。接着我们把所有的颜色字符加在一起,之后我们将通过使用 JavaScript 随机添加来创建漂亮的颜色。

let hexString = "0123456789abcdef";

现在我们已经完成了生成颜色的工作,数学随机有助于创建随机颜色,这是非常简单的 JavaScript。如果你了解了基本的 JavaScript 就可以轻松地理解它。

let genHexCode = () => {
    let hexCode = "#";
    for( i = 0; i < 6; i++){
        hexCode += hexString[Math.floor(Math.random() * hexString.length)];
    }
    output.value = hexCode;
    outputColor.classList.remove("show-color");
    setTimeout( () => {
        outputColor.classList.add("show-color");
    },10);
    outputColor.style.backgroundColor = hexCode;
}

现在我已经激活了复制按钮。此按钮将帮助我们复制将在上面创建的颜色代码。

copyBtn.addEventListener("click", () => {
    output.select();
    document.execCommand("copy");

})

现在我们也已经激活了生成按钮,创建一个系统来生成颜色,现在我们指示实施该 genHexCode 系统。只要单击“生成”按钮,该系统就会工作,这将创建颜色并且可以在显示器中看到。

window.onload = genHexCode;
genBtn.addEventListener("click", genHexCode);

到这里我们的随机颜色生成器就完成了,是不是也没那么复杂,还是比较简单的一个小项目。

完整源码下载

GitHub 地址

以上就是使用JavaScript实现随机颜色生成器的详细内容,更多关于JavaScript随机颜色生成器的资料请关注我们其它相关文章!

(0)

相关推荐

  • JavaScript随机生成颜色的方法

    废话不多说了直接给大家贴js代码了,具体代码如下所述: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <button id="btn1">调用第一种</button> <button

  • javascript生成随机颜色示例代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • js随机生成网页背景颜色的方法

    本文实例讲述了js随机生成网页背景颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <HTML> <HEAD> <TITLE>随机生成网页背景颜色的JS特效</TITLE> <STYLE> .30pt{font-size:30pt;color:#de3076} </STYLE> <SCRIPT LANGUAGE="JavaScript"> <!-- color=new A

  • js实现点击按钮随机生成背景颜色

    本文实例为大家分享了js实现点击按钮随机生成背景颜色的具体代码,供大家参考,具体内容如下 通过点击按钮更换整个页面的背景颜色 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal

  • js生成随机颜色方法代码分享(三种)

    话不多说,请看代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <button id="btn1">调用第一种</button> <button id="bnt2&quo

  • JavaScript实现简单生成随机颜色的方法

    本文实例讲述了JavaScript实现简单生成随机颜色的方法.分享给大家供大家参考,具体如下: 如果要做出如下效果,每次刷新网页则产生一种颜色 其实非常简单,产生随机颜色的根本核心就是随机构造出一个六位数,JavaScript的随机数的问题 而且这个六位数的每一个数位0~f之内,因此就有了如下的方法: 1.首先是一个HTML布局,p标签是是用来放当前颜色的,div的背景颜色就是这个颜色 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN&quo

  • 使用JavaScript实现随机颜色生成器

    目录 项目基本结构 1.颜色生成器的基本结构 2.使用 HTML 添加标题 3.创建用于颜色查看的显示器 4.创建一个框以查看颜色代码 5.创建生成器和复制按钮 6.使用 JavaScript 激活随机颜色生成器 完整源码下载 在线演示地址 项目基本结构 目录结构如下: 1.颜色生成器的基本结构 我使用了以下的 HTML 和 CSS 代码创建了这个颜色生成器的基本结构.在添加所有信息的页面上创建了一个小框,框的背景颜色为白色. <div class="container">

  • 基于javascript实现随机颜色变化效果

    本文实例讲解了基于javascript实现随机颜色变化效果,分享给大家供大家参考,具体内容如下 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>随机颜色变化效果</title> <style type="text/css"> #thediv{

  • 基于JavaScript实现随机颜色输入框

    废话不多说了额,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> table{width:500px;height:400px;} table td{width:100px;height:50px;} </style> <script> window.onl

  • JavaScript函数封装随机颜色验证码(完整代码)

    数字或者字母或者数字字母混合的n位验证码带随机的颜色.下面是完整的代码,需要的自取哈! ​ function verify(a = 6,b = "num"){ //定义三个随机验证码验证码库 var num ="0123456789" var str ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNIPQRSTUVWXYZ" var mixin = num +str; //定义一个空字符串用来存放验证码 var

  • js随机颜色代码的多种实现方式

    JS随机颜色有很多地方要用到:比如大家看到很多标签连接都是五颜六色.那就需要到这个了.下面开始: 方法思路总共有二.一是准备一组漂亮的候选颜色,二是随机生成颜色. 实现1 复制代码 代码如下: var getRandomColor = function(){ return  '#' +        (function(color){        return (color +=  '0123456789abcdef'[Math.floor(Math.random()*16)])       

  • javascript实现随机生成DIV背景色

    随机色有两种格式: 效果预览:http://wjf444128852.github.io/DEMOLIST/JS/test/index.html  1.rgb(xxx,xxx,xxx)  2.#xxxxxx  下面实现两种随机的方法  思路:如何让x都是随机的,  1.中的xxx是0-255之间的随机整数,用Math.random()*255取得0-255之间的随机数,  再Math.floor()保留小数点前面的  2.中的x是0123456789abxdef中的随机6个的组合,  这里可以用

  • js实现九宫格的随机颜色跳转

    效果如下: 图(1)  初始图 图(2)  开始闪 代码如下: <!DOCTYPE html> <html> <head> <title>九宫格</title> <style type="text/css"> div{ width:190px; height:190px; background:#FFA600; float:left; margin:10px; border-radius: 10px; } body

  • 教你用javascript实现随机标签云效果_附代码

    标签云是一套相关的标签以及与此相应的权重.典型的标签云有30至150个标签.权重影响使用的字体大小或其他视觉效果.同时,直方图或饼图表是最常用的代表约12种不同的权数.因此,标签云彩能代表更多的权,尽管不那么准确.此外,标签云通常是可以交互的:标签是典型的超链接,让用户可以仔细了解他们的内容.   大概可以理解为一堆相关或者不相关的标签混到一块,根据不同的重要程度,或者其他维度的不同来为每个标签设置不同的样式已凸显他们的不同,这样的一堆标签在一起就是我们通常说的标签云了.   下面我们大概说一下

  • 随机图片生成器制作方法分享

    复制代码 代码如下: /// <summary>    /// PicHandler1 的摘要说明    /// </summary>    public class PicHandler1 : IHttpHandler, IRequiresSessionState    {        private string mCheckNo = string.Empty;        protected ImgBuilder _ImgBuilder = new ImgBuilder(

  • jquery实现的随机多彩tag标签随机颜色和字号大小效果

    jquery随机多彩tag标签随机颜色和字号大小效果 js代码: 复制代码 代码如下: <script type="text/javascript" src="jquery-1.6.4.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascrip

随机推荐