溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

發(fā)布時(shí)間:2022-08-09 11:26:09 來(lái)源:億速云 閱讀:161 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器”吧!

項(xiàng)目基本結(jié)構(gòu)

目錄結(jié)構(gòu)如下:

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

1.顏色生成器的基本結(jié)構(gòu)

我使用了以下的 HTML 和 CSS 代碼創(chuàng)建了這個(gè)顏色生成器的基本結(jié)構(gòu)。在添加所有信息的頁(yè)面上創(chuàng)建了一個(gè)小框,框的背景顏色為白色。

<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;
}

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

2.使用 HTML 添加標(biāo)題

現(xiàn)在,我們使用 HTML 的 h2 標(biāo)簽在此框中添加一個(gè)標(biāo)題來(lái)增強(qiáng)一下美感,并在 CSS 的幫助下進(jìn)行了設(shè)計(jì)。

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

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

3.創(chuàng)建用于顏色查看的顯示器

HTML 和 CSS 代碼有助于創(chuàng)建顯示,顯示器基本上是通過(guò)產(chǎn)生顏色來(lái)觀看的。每當(dāng)你點(diǎn)擊生成按鈕時(shí),都可以在此顯示中看到顏色。它的寬度為 100%,高度為 30vmin,并用了箱形陰影來(lái)增強(qiáng)美感。

<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 添加一種動(dòng)畫(huà),只要在顯示器中可以看到這種顏色,就會(huì)出現(xiàn)一種動(dòng)畫(huà)。

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

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

4.創(chuàng)建一個(gè)框以查看顏色代碼

現(xiàn)在我們創(chuàng)建一個(gè)小盒子,可以看到這個(gè)生成顏色的代碼。

 <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;
}

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

5.創(chuàng)建生成器和復(fù)制按鈕

現(xiàn)在創(chuàng)建兩個(gè)按鈕來(lái)生成顏色和復(fù)制顏色,按鈕的寬度為 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 代碼有助于為兩個(gè)按鈕添加不同的背景顏色。第一個(gè)按鈕外殼添加了藍(lán)色,第二種添加了紅色,你也可以根據(jù)自己的喜好更改背景顏色。

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

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

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

6.使用 JavaScript 激活隨機(jī)顏色生成器

上面我們已經(jīng)設(shè)計(jì)了這個(gè)項(xiàng)目的基礎(chǔ)結(jié)構(gòu),現(xiàn)在是使用 JavaScript 實(shí)現(xiàn)它的時(shí)候了。

首先我一一設(shè)置了兩個(gè)按鈕的顏色顯示、顏色代碼和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。它是一個(gè)二進(jìn)制值,相互結(jié)合形成顏色。接著我們把所有的顏色字符加在一起,之后我們將通過(guò)使用 JavaScript 隨機(jī)添加來(lái)創(chuàng)建漂亮的顏色。

let hexString = "0123456789abcdef";

現(xiàn)在我們已經(jīng)完成了生成顏色的工作,數(shù)學(xué)隨機(jī)有助于創(chuàng)建隨機(jī)顏色,這是非常簡(jiǎn)單的 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;
}

現(xiàn)在我已經(jīng)激活了復(fù)制按鈕。此按鈕將幫助我們復(fù)制將在上面創(chuàng)建的顏色代碼。

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

})

現(xiàn)在我們也已經(jīng)激活了生成按鈕,創(chuàng)建一個(gè)系統(tǒng)來(lái)生成顏色,現(xiàn)在我們指示實(shí)施該 genHexCode 系統(tǒng)。只要單擊“生成”按鈕,該系統(tǒng)就會(huì)工作,這將創(chuàng)建顏色并且可以在顯示器中看到。

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

怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器

感謝各位的閱讀,以上就是“怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么使用JavaScript實(shí)現(xiàn)隨機(jī)顏色生成器這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI